我有一个我希望全球可用的脚本.我用标准的hashbang开始了它:
#! /usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
并将其链接到我的virtualenv的bin目录:
~/environments/project/env/bin/myscript
Run Code Online (Sandbox Code Playgroud)
并将该目录添加到我的路径中.当我运行命令时:
myscript
Run Code Online (Sandbox Code Playgroud)
我的其中一个库出现导入错误.但是,如果我激活虚拟环境并运行脚本,它将按预期工作.
我已经排除了符号链接的问题(我也试过在bin文件夹中移动脚本).我也尝试用python运行脚本
python ~/environments/project/env/bin/myscript
Run Code Online (Sandbox Code Playgroud)
以前我使用的是激活环境然后运行我的脚本的脚本,但我觉得从这个文件夹运行的脚本应该与virtualenv的解释器和site-packages一起运行.任何关于为什么这可能不起作用的想法或某些方法我可以调试这个?