相关疑难解决方法(0)

具有修改环境的Python子进程/ Popen

我认为运行带有稍微修改环境的外部命令是一种非常常见的情况.这就是我倾向于这样做的方式:

import subprocess, os
my_env = os.environ
my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"]
subprocess.Popen(my_command, env=my_env)
Run Code Online (Sandbox Code Playgroud)

我有一种直觉,觉得有更好的方法; 看起来好吗?

python subprocess popen

255
推荐指数
6
解决办法
16万
查看次数

使用python在不同的virtualenv中运行子进程

假设我在2种不同的虚拟环境中安装了2个不同版本的应用程序.myapp v1.0和myapp v2.0.

现在我想比较一下.比较是用python本身编写的.最好的方法是什么?我们假设我可以单独运行它们并且都写一个输出文件,我可以稍后比较.

一种方法是编写一个bash脚本(这就是我目前所拥有的).我激活一个virtualenv,运行myapp v1.0,激活另一个virtualenv,运行myapp v2.0.稍后在这些文件上运行比较模块.但是我想在那里添加更多的动态(采用一些可选的参数等),使用python会更容易.

编辑:

目前我有类似的东西(一个bash脚本):

source virtualenv1/bin/activate
python my_script.py
deactivate

source virtualenv2/bin/activate
python my_other_script.py
deactivate

python my_comparison_script.py
Run Code Online (Sandbox Code Playgroud)

相反,我只想这样做:

python my_comparison_script.py
Run Code Online (Sandbox Code Playgroud)

我的脚本将在此内部运行.

python virtualenv

24
推荐指数
3
解决办法
1万
查看次数

标签 统计

python ×2

popen ×1

subprocess ×1

virtualenv ×1