我今天测试python的opencv 遇到个问题很迷惑,希望大家能指点下,情况是这样的:
我mac 10.9的系统,装了opencv + python2.7 终端执行improt cv2 (opencv的库)的代码是完成没问题的.
我再用php封一层, test.php 代码里面的exec('python test.py'); 在"终端"也是可以执行的
不过棘手的问题在下面终于出现了,我在网页执行 test.php不行.
后来google了下.应该是跟用户权限有关.就是用其他用户权限(网页在mac跑是_www这个用户) 执行python 又调用opencv的话就会报错:
ImportError: No module named cv2
请问这问题应该怎么解决?
用 php exec('python test.py')
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你说的问题我没有遇到过,但有一些经验想与你分享下。
我实习的公司使用PHP和Python,通讯的方式是PHPHTTP请求到PythonTornado的接口,Python完成计算后返回Json
然后有一天我升级我的MacPython后,发现公司的Python模块都不能用了,出现了ImportError,仔细查找之下,发现我的系统里存在三个PythonPackage存储路径:
/Library/Python/2.7/site-packages
/Library/Python/2.7/site-packages/lib/python2.7/site-packages
/usr/local/lib/python2.7/site-packages/
我也没弄明白pip到底将模块安装到了哪里,就干脆在~/.profile里将三个路径都加进了$PYTHONPATH里,在~/.profile后面追加
exportPYTHONPATH=/Library/Python/2.7/site-packages:/Library/Python/2.7/site-packages/lib/python2.7/site-packages:$PYTHONPATH
我的建议是,你可以尝试像我一样看看你的Python是不是也存在多个模块路径,将它们都找到并添加到全局模块搜索路径,或许会解决此问题。
不知对你是否有帮助。
谢谢您的指教。受用了