我有一个在我的终端中运行的python代码并打印结果。我编写了一个php代码,它使用exec执行python代码(" python example.py argument_1")。 php代码还会在从终端执行时打印结果。
但是当我尝试通过curl请求从浏览器(或)调用php时,不会显示php的结果。 Apache错误日志显示以下消息。
Traceback (most recent call last):
File "./example.py", line 3, in <module>
from lxml import etree
ImportError: No module named lxml
请仔细研究这个问题。
解决方案: 我与python版本存在冲突
exec(&#34; / usr / local / bin / python example.py argument_1&#34;)解决了我的问题
答案 0 :(得分:0)
我认为您可以打印sys.path(模块将通过这些路径的python喜欢)以获取更多详细信息。你可能在linux中开发你的代码 在linux中,每个用户都有不同的sys.path 例如,我使用 root 运行python来获取python中的sys.path,
Array
(
[uid] => 9
[company_name] => Source and Services
[fname] => azad
[lname] => ahmed
[phone] => 01671133639
[email] => azad@gmail.com
[st_id] => 5
[st_name] => Rajshahi
[lg_name] => D4L08841
)
使用其他用户在python中获取sys.path
'/usr/bin',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/IPython/extensions']
所以,您可以使用不同的用户来执行您的代码。