PHP调用Python,但是Python中有import caffe就会一直waiting的问题

下面是我的PHP代码
<?php

set_time_limit(0);

define('ROOTX',dirname(__FILE__).'/');

if ((($_FILES["file"]["type"] == "image/gif")

 || ($_FILES["file"]["type"] == "image/jpeg")

 || ($_FILES["file"]["type"] == "image/jpg")

 || ($_FILES["file"]["type"] == "image/pjpeg"))  

&& ($_FILES["file"]["size"] < 8000000))  

{

if ($_FILES["file"]["error"] > 0)  

{  

    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";  

}  

else  

{  

    echo "Upload: " . $_FILES["file"]["name"] . "<br />";  

    echo "Type: " . $_FILES["file"]["type"] . "<br />";  

    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";  

    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";  



    if (file_exists("download/" . $_FILES["file"]["name"]))  

    {  

        echo $_FILES["file"]["name"] . " already exists. ";  

    }  

    else  

    {  

        if(move_uploaded_file($_FILES["file"]["tmp_name"], "download/".$_FILES["file"]["name"]))  

        {  

            echo "move ok<br/>";  

            echo "<img src="."download/".$_FILES["file"]["name"]."><br/>";

        }  

        else  

        {  

            echo "<br/>move fail:".ROOTX."download/".$_FILES["file"]["name"]."<br/>";  



            print_r(error_get_last());  

            print_r($_FILES["file"]);



            echo "<br/><br/>";  

        }  



        echo "Stored in: " . "download/" . $_FILES["file"]["name"];  

    }  

}  

}

else

{

echo $_FILES["file"]["type"]."
";

echo "Invalid file";  

}

exec("python /var/www/html/demo/map.py");

$backup_path = "/var/www/html/upload";

$handle = @opendir($backup_path);

$i = 0;

$f = "";
//判断Python是否执行完

while (1)

{

sleep(1);

while (false !== ($file = readdir($handle)))

{

    if($file!="."&&$file!="..")

    {

            $f=$file;

            $i++;

    }

}

if ($i != 0)

{

    break;

}

}

closedir($handle);

echo "

";//地址要改

?>

我用一般的Python代码可以成功,但是如果有import caffe就会一直处于waiting状态

https://www.oschina.net/question/1041792_172310

import caffe 时如果提示 找不到或者没有此模块时 多半是没有安装或者是环境变灵没有配置

以下是make之后import caffe仍报错的一些处理

在命令行输入python;再输入import caffe时,可能会报以下错误:

can not find module skimage.io
此时只要按照以下命令操作即可:
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

$ sudo apt-get update
在caffe-master目录下:

$ sudo make pycaffe

如果出现“make: Nothing to be done for `pycaffe'.”

使用

$ sudo make clean

之后运行

$ sudo make pycaffe

然后在命令行输入Python;再输入import caffe就可以成功啦。

配置环境变量

直接使用export 时 只是在当前的登录窗口中有效,一旦关闭就会失效

在Ubuntu中使用

$export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

注意: /path/to/caffe/python 这是你的caffe的路径下面的python

上述的方法是临时的,下面是将环境变量存到文件中

我查了一下Ubuntu中有很多文件可以存放

本人比较习惯在/etc/profile中进行存放(依据个人习惯吧)

PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

添加到

$sudo vim /etc/profile

PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

export PYTHONPATH

添加完成后记得要

source profile

此时在其他窗口中就可以正常使用了。