首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >uWSGI python子进程chrome/firefox失败

uWSGI python子进程chrome/firefox失败
EN

Stack Overflow用户
提问于 2017-08-27 16:24:10
回答 2查看 995关注 0票数 0

我有一个用nginx服务的uWSGI下的python烧瓶应用程序。python代码调用subprocess.Popen()来运行浏览器(即Firefox、Chrome),但是uWSGI日志显示了错误。该错误与linux(ubuntu)标准命令(即readlinkwhichcat等)有关。

我怀疑这是与用户访问有关的,但不确定。uWSGI服务使用我的用户和www-data组运行。

Python代码

代码语言:javascript
复制
import subprocess

@app.route('/api/check/version', methods=['POST'])
def check_version():
    pid = subprocess.Popen(['/usr/bin/firefox', '--version'], stdout=subprocess.PIPE)
    #pid = subprocess.Popen(['/usr/bin/google-chrome', '--version'], stdout=subprocess.PIPE)
    data = pid.communicate()
    return  data

if __name__ == "__main__":
    check_version()

uWSGI log

代码语言:javascript
复制
**in case of doing Popen for /usr/bin/firefox
/usr/bin/firefox: 1: /usr/bin/firefox: which: not found

**in case of doing Popen for /usr/bin/google-chrome
/usr/bin/google-chrome-stable: line 8: readlink: command not found
/usr/bin/google-chrome-stable: line 10: dirname: command not found
/usr/bin/google-chrome-stable: line 46: exec: cat: not found
/usr/bin/google-chrome-stable: line 45: exec: cat: not found

uWSGI Service Config

代码语言:javascript
复制
[Unit]
Description=uWSGI instance to serve myproject
After=network.target

[Service]
User=myuser
Group=www-data
WorkingDirectory=/home/gbadmin/myproject
Environment="PATH=/home/gbadmin/myproject/myprojectenv/bin"
ExecStart=/home/gbadmin/myproject/myprojectenv/bin/uwsgi --ini myproject.ini

[Install]
WantedBy=multi-user.target
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-27 19:15:38

你给了你的PATH一个限制太大的价值:

代码语言:javascript
复制
Environment="PATH=/home/gbadmin/myproject/myprojectenv/bin"

问题中缺少的命令通常出现在/bin/usr/bin中,将这些命令添加到path变量中可能解决问题。

代码语言:javascript
复制
Environment="PATH=/home/gbadmin/myproject/myprojectenv/bin:/usr/bin:/bin"
票数 3
EN

Stack Overflow用户

发布于 2017-08-27 16:38:21

我没有回答你的问题,但我想我正在解决你遇到的问题。作为另一种选择,您可以使用dpkg -s firefox | grep '^Version:'而不是您正在使用的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45906997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档