首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法从python设置pythonpath环境变量

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

Stack Overflow用户
提问于 2020-04-16 06:30:53
回答 1查看 673关注 0票数 0

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

在Visual Studio代码中调试python文件之前,我无法使用tasks.json文件添加这些命令(请参阅post Visual Studio Code unable to set env variable paths prior to debugging python file),所以我只能通过os.system("..")命令添加它们

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

代码语言:javascript
运行
复制
# 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上失败,并显示以下信息:

代码语言:javascript
运行
复制
Exception has occurred: ModuleNotFoundError
No module named 'camera'
  File "D:\project\main.py", line 12, in <module>
    from camera.capture import capture

我也试过了

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

为什么它在运行脚本时没有记住pythonpath

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

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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-04-17 04:41:35

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

代码语言:javascript
运行
复制
import sys
sys.path.append(r"D:\project\calibration\pylibrary\camera")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61239726

复制
相关文章

相似问题

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