【发布时间】:2012-10-16 01:02:36
【问题描述】:
可能重复:
Python - It is possible to install another version of Python to Virtualenv?
在我的(virtualenv 激活的)env 文件夹中,似乎 python2.7 文件夹具有指向我的系统 python 安装的绝对路径的符号链接。
这并不理想。
即使我从本地路径安装,并使用 virtualenv 在文件夹env 中设置和环境,Python 的路径也是绝对的,并且建立了对 OS 环境的依赖关系。我想摆脱这种依赖,让 python 解释器以及所有依赖它的软件完全独立。
假设我希望将 python2.6 作为独立安装包含在环境树中,而没有指向我的系统文件夹的符号链接。
如何实现这一非凡的非联系性壮举?
$ > pwd
/Users/foo/development/v1/bar/env
(env)
$ > ls -l lib/python2.7/
total 920
lrwxr-xr-x 1 foo staff 82 Oct 15 16:48 UserDict.py -> /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py
...
lrwxr-xr-x 1 foo staff 85 Oct 15 16:48 _weakrefset.py -> /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_weakrefset.py
感谢您的帮助。
编辑:此外,让 virtualenv(包括本地 python 安装)可重定位是最理想的。
【问题讨论】:
-
从头开始安装 Python 解释器可能根本不在
virtualenv的范围内。自己将 Python 安装到 env 文件夹中,然后告诉virtualenv使用该安装,使其可根据需要重新定位。 -
@Insidi0us - 我找不到那个骗子...谢谢。
-
只需安装另一个 Python,如来自 python.org 的 OS X Python 安装程序,并使用它而不是 Apple 提供的系统 Python 来安装新的 Distribute 和/或 pip 和 virtualenv 实例,如果你真的需要使用它。但是您不太可能真的需要或应该从源代码构建 Python。正确操作有点棘手,尤其是在 OS X 上。另一种选择是从第 3 方包管理器(如 MacPorts)安装所需的一切。
-
@millimoose - 好主意,但是,当我尝试这个时,virtualenv borks with "shutil.Error:
/Users/foo/development/env/bin/pythonandenv/bin/pythonare the same file" -
@toszter 不要将 Python 和 virtualenv 安装到同一目录中。将其中至少一个(最好是 Python,而不是 virtualenv)放入
env下的单独子目录中,例如env/sdk
标签: python virtualenv pip