【发布时间】:2012-08-11 09:03:25
【问题描述】:
我有一个脚本希望在全球范围内可用。我从标准的 hashbang 开始:
#! /usr/bin/env python
并将其链接到我的 virtualenv 的 bin 目录中:
~/environments/project/env/bin/myscript
并将该目录添加到我的路径中。当我运行命令时:
myscript
我收到其中一个库的导入错误。但是,如果我激活虚拟环境并运行脚本,它会按预期工作。
我已经排除了符号链接的问题(我也尝试将脚本移动到 bin 文件夹中)。我也试过用 python 运行脚本
python ~/environments/project/env/bin/myscript
以前我使用的是激活环境然后运行我的脚本的脚本,但我的印象是从这个文件夹运行的脚本应该与 virtualenv 的解释器和站点包一起运行。关于为什么这可能不起作用的任何想法或我可以调试它的一些方法?
【问题讨论】:
-
与您的问题无关:尽管大多数 shell 忽略它,但使用
#! /严格来说是错误的,因为必须将空间视为程序路径的一部分。放下空间,你就安全了。
标签: python virtualenv rundeck