如何解决设置 PYTHONPATH,当 virtualenv 被激活时
此时,我使用 pyenv
+ venv
来管理 Python
版本和特定库。我的项目布局如下所示:
- 目录1
- subdir11
- subdir12
- subdir13
- 目录2
- subdir21
- subdir22
- subdir23
我的目标是,一旦 venv
被激活,dir1
和 dir2
才能进入 sys.path
。基本上,我解决了这个任务,但我真的不喜欢解决方案。我在 PYTHONPATH
文件下的 venv
中添加了自定义 bin/activate
,一切正常。从部署的角度来看,这不是那么灵活。 venv
是否为此提供了一些 hooks
?例如:设置客户 environment variables
一旦 venv
被激活或运行一些功能或类似的东西。我不喜欢在每台机器上修改 bin/activate
文件的想法。
P.S 我知道包装材料和 setuptools
,但对于这个项目我不能使用它。
有什么想法吗?
谢谢!
解决方法
另一种可能性(这通常是我使用的并且避免进入你的 venv 源代码):
创建一个 activate.sh
脚本,在其中导出模块的路径并激活 venv 即:
source venv/bin/activate
export PYTHONPATH=$PYTHONPATH:$(pwd)
那么您可以只执行 source activate.sh
而不是 source venv/bin/activate
并且您将同时执行这两个操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。