如何在Bash中配置自动export PYTHONPATH关联依赖项目?
解决方法
直接把export PYTHONPATH=pwd``加到bash配置文件里没用,核心原因是配置文件加载时的pwd是终端启动时的目录(通常是你的家目录),不是p1的根目录;而且全局设置PYTHONPATH还可能影响其他项目。给你几个实用的解决办法:
方案1:修改虚拟环境激活脚本(仅针对p2的虚拟环境生效)
找到p2虚拟环境的activate脚本,路径一般是p2/venv/bin/activate(Linux/macOS),打开后在文件末尾添加:
export PYTHONPATH="/你电脑上p1的绝对根目录"
比如你的p1放在/home/marlon/projects/p1,就写export PYTHONPATH="/home/marlon/projects/p1"。
这样每次激活p2的虚拟环境时,PYTHONPATH会自动设置成p1的路径,退出虚拟环境时,系统会自动恢复之前的PYTHONPATH(activate脚本本身会处理环境变量的备份)。
方案2:用pip可编辑模式安装p1(更规范的开发依赖方式)
进入p2的虚拟环境,执行以下命令:
pip install -e /你电脑上p1的绝对根目录
这会把p1以"可编辑模式"安装到p2的虚拟环境中,p2可以直接导入p1的模块,不用手动设置PYTHONPATH;而且修改p1的代码后,p2能直接生效,非常适合开发阶段使用。
方案3:自定义bash函数(适合频繁切换场景)
在~/.bashrc或~/.bash_profile文件中添加一个函数:
set_p1_path() { export PYTHONPATH="/你电脑上p1的绝对根目录" }
保存后执行source ~/.bashrc让配置生效,之后每次需要时,在终端输入set_p1_path就能完成设置。如果只需要在激活p2虚拟环境后生效,可以把set_p1_path这句调用加到虚拟环境的activate脚本里。
内容的提问来源于stack exchange,提问作者marlon
相关产品推荐
相关产品推荐

