使用 subprocess.Popen() 在 python 脚本中设置 PYTHONPATH 失败

标签 python

以下代码允许我动态识别并加载自定义模块(如果它不位于 sys.path 变量的任何目录中)

import sys
sys.path.append("/lib")

但是,这给了我 OSError

import subprocess
x = subprocess.Popen(["export", "PYTHONPATH=/lib"], stdout=subprocess.PIPE)

不仅如此,即使是简单的 Linux/Unix 变量声明设置也会在 subprocess.Popen() 中失败

import subprocess
x = subprocess.Popen("x=y", stdout=subprocess.PIPE)

我想检查子进程,因为我尝试通过 os.system()、os.popen() 等设置 PYTHONPATH,但该变量未设置(可能是在子进程 shell 中设置的)

最佳答案

试试这个:

>>> subprocess.call(["export foo=bar && echo foo=$foo"], shell=True)
foo=bar
0
>>> 

关于使用 subprocess.Popen() 在 python 脚本中设置 PYTHONPATH 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41198925/

相关文章:

python - 如何检查形状文件多边形包含纬度和经度点的 numpy meshgrid

python - PyMongo 返回 float 而不是整数

python - 在 Python 中用零填充多个值

python - 在python中导入和使用模块

python - 不和谐的python机器人离开命令不起作用

python - 向我的船指向的方向发射子弹

Python - 解压列表并连接成一个字符串

python - Qt5 Matplotlib 设计器插件

python - 如何从数据框中删除一行列

python - 当导入某个模块时如何覆盖编写的函数?