我想我在服务器(Ubuntu16.04)上加了一个脏脚本,它给了我一些来自Python的纯文本输出。
我想从PHP调用这样的脚本(我知道应该有一些转义,但目前只是一个测试):
<?php
$command = '/usr/local/bin/script.py';
$output = shell_exec($command);
echo $output;
?>
这是由www数据模式拥有的script.py
#!/usr/bin/python
import CoolProp.CoolProp as CP
import argparse
print('Hallo Welt')
如果我注释掉CoolProp
导入,它就可以工作。但是不知怎的,这个包不能通过www-data
到达,所以脚本什么也不返回。
如您所见,我想使用包CoolProp
。
pip install CoolProp
=>;安装它。但现在当用户调用www-data
--target=/usr/local/lib/site-packages/
安装它之后,这没有帮助。site-packages/
上的ACL更改为rwx
对于www数据,但这并不起作用。最后:什么是最简单的方法来pip install
一个所有用户都可以使用的包,包括www-data
?
我建议您尝试先发布xotihcan的解决方案,因为这是使所有用户(包括www数据)都可以使用大多数python模块的简单方法。但是它并不适用于每个python模块。如果这对您不起作用,或者您只想为www数据用户安装模块,请使用以下命令:
我在尝试使Python pyro4模块可用于www数据使用时遇到了同样的问题。有另一种方法,但它涉及一些甚至更肮脏的黑客。有关详细信息,请查看我的问题/答案@How do I properly call a Python Pyro client using PHP and Apache web server?
与根用户一起运行PIP。
这应该能解决问题。
相关问题 更多 >
编程相关推荐