将多个目录路径添加到 $PYTHONPATH(Windows 中的 Git-Bash)

问题描述 投票:0回答:1

我想在每次启动 Git Bash 时向 Windows 中的 PYTHONPATH 环境变量添加多个路径 (A,B)。除了已经存在的依赖项之外,Python 还应该从路径 AB 绘制它的依赖项:

#output
$ python -c "import sys; print(sys.path)"
[**'C: \\ProgramData\\A', 'C: \\ProgramData\\B'**, 'C:\\Program Files\\Python312\\python312.zip', ...]

对于纯粹基于 Linux 的系统,不需要引号 ('"'),对于 Windows,可以通过 GUI>设置>路径变量解决此问题。后者不是这里的选项(管理员权限等)。


我尝试以两种方式操作 ~./bash_profile 中的 PYTHONPATH 变量:

  1. 通过 ":" 将路径 B 附加到 A : 这会产生共享字符串中的两条路径
#~/.bash_profile
export PYTHONPATH="/ProgramData/A"
export PYTHONPATH=$PYTHONPATH:"/ProgramData/B"
alias python='winpty python'
- - - - - - - - - - - - - -
#output
$ python -c "import sys; print(sys.path)"
['', 'C:\\ProgramData\\A:\\ProgramData\\B', 'C:\\Program Files\\Python312\\python312.zip',...]

  1. 以与A相同的方式附加路径B:仅考虑最后导出的路径
#~/.bash_profile
export PYTHONPATH="/ProgramData/A"
export PYTHONPATH="/ProgramData/B"
alias python='winpty python'
- - - - - - - - - - - - - -
#output
$ python -c "import sys; print(sys.path)"
['', 'C:\\ProgramData\\B', 'C:\\Program Files\\Python312\\python312.zip',...]


我需要如何修改导出语句才能获取 sys.path 中的单独条目?

bash environment-variables git-bash sys
1个回答
0
投票
   export PYTHONPATH=$PYTHONPATH:"/ProgramData/B"

我需要如何修改导出语句才能获取 sys.path 中的单独条目?

对于所有其他操作系统,您已经拥有它了。但 Windows 很奇怪,因为它有“驱动器”的概念,所以不能使用

:
作为路径元素轮廓符。相反,windows 必须使用
;
作为路径分隔符

export PYTHONPATH="/ProgramData/A"
export PYTHONPATH=$PYTHONPATH:"/ProgramData/B"

最好将您的设置附加到现有的 PYTHONPATH 而不是截断它:

export PYTHONPATH="/ProgramData/A/ProgramData:B;$PYTHONPATH"
© www.soinside.com 2019 - 2024. All rights reserved.