我正在尝试使用python的子进程模块调用shell脚本。 shell脚本使用virtualenvwrapper激活virtualenv,然后调用python脚本。 最后一个调用的python脚本需要在virtualenv中安装库,它正在崩溃。你知道吗
tried activating virtualenv again in python script but of no use
父Python代码-
command = "/home/arman/analysis_server/new_analysis/run"
output = subprocess.Popen([command], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
/运行脚本-
#!/bin/bash
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
workon analytics
python /home/arman/analysis_server/new_analysis/AnalysisWrapper.py
你知道吗分析包装器.py-你知道吗
cmd = "python /home/arman/analysis_server/new_analysis/DataHandlerWrapper.py " + instrument + " &"
subprocess.Popen(cmd, shell=True, executable='/bin/bash', stdout=out, stderr=out)
DataHandlerWrapper.py文件脚本需要virtualenv,但正在崩溃
我认为您的问题是Popen生成了一个子shell,因此您在一个子进程中激活virtualenv并尝试在另一个子进程中使用它是行不通的。你知道吗
如果两者之间没有发生任何事情,您可以尝试将命令链接到同一个进程中:
相关问题 更多 >
编程相关推荐