可能重复:
Python - It is possible to install another version of Python to Virtualenv?
在我的(virtualenv激活的)env文件夹中,好像python2.7文件夹的系统python安装的绝对路径符号链接。
这不太理想。
即使我从本地路径安装,并使用virtualenv在文件夹env
中设置和环境,Python的路径也是绝对的,并且建立了对OS环境的依赖。我想摆脱这种依赖,让python解释器以及依赖它的所有软件完全独立。
让我们想象一下,我希望python2.6作为STAND-ALONE安装包含在env树中,而没有符号链接到我的系统文件夹。
如何实现非常非连锁的这一壮举?
$ > 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安装)重定位是最理想的。
答案 0 :(得分:3)
更新:请同时参阅Is it possible to install another version of Python to Virtualenv?
非常感谢@millimoose等人
这是我最终做的,非常具体。如果我将来遇到问题,我会更新。
设置环境文件夹。
$ mkdir env
$ mkdir pyenv
$ mkdir dep
获取Python-2.7.3和virtualenv ,无需任何形式的root操作系统安装。
$ cd dep
$ wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
$ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
将Python-2.7.3解压缩并安装到pyenv
目录中。如果您在第2次,第3次,第N次这样做,make clean
是可选的......
$ tar -xzvf Python-2.7.3.tgz
$ cd Python-2.7.3
$ make clean
$ ./configure --prefix=/path/to/pyenv
$ make && make install
$ cd ../../
$ ls
dep env pyenv
创建你的virtualenv
$ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
将符号链接修复为env/include/
$ ls -l env/include/
$ cd !$
$ rm python2.7
$ ln -s ../../pyenv/include/python2.7 python2.7
$ cd ../../
修复env中剩余的python符号链接。您必须删除符号链接的目录并重新创建它们,如上所述。此外,这是强制就地创建符号链接的语法。
$ ls -l env/lib/python2.7/
$ cd !$
$ ln -sf ../../../pyenv/lib/python2.7/UserDict.py UserDict.py
[...repeat until all symbolic links are relative...]
$ cd ../../../
测试
$ python --version
Python 2.7.1
$ source env/bin/activate
(env)
$ python --version
Python 2.7.3
阿罗哈。
答案 1 :(得分:1)