jkm*_*acc 5 python virtualenv virtualenvwrapper
我正在为一群 Python 新手建立一个新系统,以使用 Python 进行特定类型的科学工作。它有 2 个不同的 python(32 位和 64 位),我想安装一组系统上的用户将使用的通用模块。
有人告诉我 virtualenv (+ wrapper) 对这种情况有好处,但我不清楚如何。
我喜欢隔离环境的想法,然后让他们根据案例 (c) 的问题键入“workon science32”、“workon science64”。
任何建议表示赞赏。
使用 virtualenv,您只需省略该选项即可允许每个环境使用全局安装的系统包--no-site-packages。这是默认行为。
如果你想让每个环境安装所有自己的包,那么使用--no-site-packages,你将得到一个裸Python安装来安装你自己的模块。当您不希望包与系统包发生冲突时,这非常有用。我通常这样做只是为了防止系统升级干扰工作代码。
我会谨慎地将它们视为沙箱,因为它们只是部分隔离的。python 二进制文件和库的路径被修改以使用环境,但实际上这就是所发生的一切。Virtualenv 没有采取任何措施来阻止运行的代码对系统进行破坏性操作。沙箱的最佳方法是正确设置 Linux/Unix 权限,并为他们提供自己的用户帐户。
编辑 1.7+ 版本
1.7 的默认设置是不包含系统包,因此如果您想要使用系统包的行为,请使用该--system-site-packages选项。检查文档以获取更多信息。
| 归档时间: |
|
| 查看次数: |
4111 次 |
| 最近记录: |