python - 如何在 Python 中将目录添加到系统路径变量
问题描述
我在 Windows 上运行 python 3.9。
print(sys.path)
currDir = os.getcwd()
currDir += "\node"
sys.path.append(currDir)
print(sys.path)
我看到第二张打印出来的sys.path
有我的c:\working\node\
但我的问题是当我在下运行命令时c:\working\node\
,例如npm install
p = subprocess.Popen(["npm.cmd", "install]),
我收到错误消息“系统找不到指定的文件”
在我的脚本运行后,我尝试'echo %PATH%',我也没有c:\working\node\
在 %PATH% 变量中看到?
您能告诉我如何将新目录添加到系统路径变量以便subprocess.Popen
可以看到新添加的内容吗?
解决方案
sys.path
与PATH
指定在何处搜索二进制文件的变量不同:
指定模块搜索路径的字符串列表。从环境变量 PYTHONPATH 初始化,加上依赖于安装的默认值。
您想改为设置PATH
变量os.environ
。
app_path = os.path.join(root_path, 'other', 'dir', 'to', 'app')
os.environ["PATH"] += os.pathsep + os.path.join(os.getcwd(), 'node')
推荐阅读
- r - 用许多变化的变量为ggplot分配稳定的颜色
- amazon-web-services - 按时间创建过滤 aws ebs 卷
- javascript - 网页上的本地文件搜索引擎
- 8051 - LOW() HIGH() 使用变量而不是值
- php - 更改哪个图像版本被调用到 wordpress 插件中
- python - 在有组织的数据框上将数据输入 Python
- java - JPA CriteriaBuilder 和本机子句
- java - 为什么我必须让 m2e 在每个项目上忽略 maven-compiler-plugin:compile 和 testCompile?
- r - 如何在动态计算列名并更改日期以进行比较的 for 循环中使用 mutate?
- javascript - 在 ipad vimeo 中禁用全屏