php – 如何安装Python包供全球用户使用(包括www-data)

我以为我在我们的服务器(Ubuntu 16.04)上放了一个小脏脚本,它给了我一些Python的纯文本输出.

我想从PHP调用这样的脚本(我知道应该有一些转义,但它只是一个测试):

<?PHP
$command = '/usr/local/bin/script.py';
$output = shell_exec($command);
echo $output;
?>

这是由www-data模式774拥有的script.py

#!/usr/bin/python
import CoolProp.CoolProp as CP
import argparse
print('Hallo Welt')

如果我注释掉CoolProp导入它的工作原理.但不知何故,www-data无法访问包,因此脚本不会返回任何内容.

如您所见,我想使用Package CoolProp.

>所以我尝试用pip install安装它CoolProp =>这适用于我的本地用户.但现在从用户www-data调用
>我尝试使用目标–target = /usr/local/lib / site-packages /安装它后,但这没有帮助.
>我尝试将完整的site-packages /上的ACL更改为rwx
对于www-data但不起作用.

最后:pip安装包可以被包括www-data在内的所有用户使用的最简单方法是什么?

解决方法:

我建议你尝试xotihcan首先发布的解决方案,因为这是让大多数python模块可供所有用户使用的简单方法,包括www-data.但它并不适用于每个python模块.如果这对您不起作用,或者您只想为www-data用户安装模块,请使用以下命令:

sudo mkdir /var/www/.local
sudo mkdir /var/www/.cache
sudo chown www-data.www-data /var/www/.local
sudo chown www-data.www-data /var/www/.cache
sudo -H -u www-data pip install CoolProp

我有同样的问题试图使Python pyro4模块可用于www数据使用.还有另一种方法,但它涉及一些更脏的hackery.有关详细信息,请查看我的问题/答案@ How do I properly call a Python Pyro client using PHP and Apache web server?

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...