【发布时间】:2010-02-12 17:22:58
【问题描述】:
我在共享 Linux 服务器上安装了具有默认设置的 virtualenv 和 virtualenvwrapper(virtualenvs 在 ~/.virtualenvs 中)。我有几个 Python 脚本,只有在激活正确的 virtualenv 时才能运行。
现在我想与服务器上的其他用户共享这些脚本,但不需要他们了解有关 virtualenv 的任何信息...这样他们就可以运行 python scriptname 或 ./scriptname 和脚本将与我的 virtualenv 中可用的库一起运行。
最干净的方法是什么?我玩弄了一些选项(例如将 shebang 线更改为指向 virtualenv 提供的解释器),但它们似乎很不灵活。有什么建议吗?
编辑:这是一个开发服务器,其他几个人都有帐户。但是,他们都不是 Python 程序员(我目前正在尝试转换它们)。我只是想让他们更容易地运行这些脚本并可能检查它们的逻辑,而不会让非 Pythonistas 了解环境细节。谢谢。
【问题讨论】:
-
一个 virtualenv 是为了满足开发者的需要。要在隔离的环境中测试事物,测试依赖关系等。如果您分发它,您应该能够像任何其他 python 脚本/模块一样将其打包,并且不需要在其末端使用 virtualenv。特定于该脚本的 virtualenv 中有什么无法为最终用户在系统范围内完成?
-
@rharding -- 我没有部署脚本,只是让服务器上的其他用户可以使用它们。
-
请考虑接受 Chris Dukes 的回答,jcdyer 提供的那个没有回答这个问题(作者同意这不是一个好的答案),而另一个很好地解释了这个问题plus 是对 virtualenv shebang 的快速参考——我在找到这个主题时试图回答的问题。您可能会通过接受投票最多的答案来帮助他人。谢谢。
标签: python virtualenv