无法从python中设置pythonpath环境变量



在启动python文件之前,我正试图调试一个在运行时向PYTHONPATH添加了许多附加库的项目。

在调试Visual Studio代码中的python文件之前,我无法使用tasks.json文件添加这些命令(请参阅Visual Studio代码后,无法在调试python文件之前设置env变量路径(,所以我只是通过os.system("..")命令添加它们

我只展示了下面添加的库中的一个:

# Standard library imports
import os
import sys
os.system("SET PYTHONPATH=D:\project\calibration\pylibrary\camera")
# Pylibrary imports
from camera import capture

当我调试时,它在from camera import capture线上失败,带有:

Exception has occurred: ModuleNotFoundError
No module named 'camera'
File "D:projectmain.py", line 12, in <module>
from camera.capture import capture

我也试过

os.environ['PYTHONPATH']="D:\project\pylibrary\camera"和我仍然得到相同的错误

为什么它在运行脚本时不记得pythonpath

在运行Visual Studio代码和调试项目文件时,我还能如何定义pythonpath

我知道我可以在windows中将pythonpath添加到env变量中,但它加载了太多库,我希望它在执行python脚本时只记住路径。

感谢

使用os.system()将不起作用,因为它会启动一个新的cmd.exe shell并在该shell中设置env-var。这不会影响python进程的env-var。分配给os.environ['PYTHONPATH']将不起作用,因为此时您的python进程已经在sys.path变量中缓存了该env-var的值(如果有的话(。解决方案是

import sys
sys.path.append(r"D:projectcalibrationpylibrarycamera")

最新更新