是否可以将另一个版本的Python安装到Virtualenv?
我在安装了Python2.4的web主机中有一个共享帐户,但我的代码与2.4不兼容。是否可以将Python 2.6直接安装到Virtualenv是否可以将另一个版本的Python安装到Virtualenv?,python,virtualenv,Python,Virtualenv,我在安装了Python2.4的web主机中有一个共享帐户,但我的代码与2.4不兼容。是否可以将Python 2.6直接安装到Virtualenv 注意:我没有在共享服务器中安装它的权限。通常的方法是下载源代码并在本地构建和安装(但不是直接在virtualenv中),然后使用该本地Python安装创建一个新的virtualenv。在某些系统上,可以下载并安装预构建的python,而不是从源代码构建 先决条件: sudo easy\u安装virtualenv sudo pip安装virtualenv
注意:我没有在共享服务器中安装它的权限。通常的方法是下载源代码并在本地构建和安装(但不是直接在virtualenv中),然后使用该本地Python安装创建一个新的virtualenv。在某些系统上,可以下载并安装预构建的python,而不是从源代码构建 先决条件:
sudo easy\u安装virtualenv
sudo pip安装virtualenvwrapper
/usr/local
或其他位置
/usr/local
以外的其他位置,请将其添加到路径中
python2.5
和python2.6
pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.6.6
python2.6
创建virtualenv的新实例:
mkvirtualenv--python2.6 yournewenv
不可以,但是您可以在
$HOME
目录下安装一个独立的Python构建(例如)
这种方法是最快的,不需要您自己编译Python
(作为奖励,您还可以使用ActiveState)以下是virtualenv的选项
$ virtualenv
You must provide a DEST_DIR
Usage: virtualenv [OPTIONS] DEST_DIR
Options:
--version show program's version number and exit.
-h, --help show this help message and exit.
-v, --verbose Increase verbosity.
-q, --quiet Decrease verbosity.
-p PYTHON_EXE, --python=PYTHON_EXE
The Python interpreter to use, e.g.,
--python=python2.5 will use the python2.5 interpreter
to create the new environment. The default is the
interpreter that virtualenv was installed with
(/usr/bin/python)
--clear Clear out the non-root install and start from scratch
--no-site-packages Don't give access to the global site-packages dir to
the virtual environment
--unzip-setuptools Unzip Setuptools or Distribute when installing it
--relocatable Make an EXISTING virtualenv environment relocatable.
This fixes up scripts and makes all .pth files
relative
--distribute Use Distribute instead of Setuptools. Set environ
variable VIRTUALENV_USE_DISTRIBUTE to make it the
default
--prompt==PROMPT Provides an alternative prompt prefix for this
environment
1)您要做的是将python安装到您也可以编写的目录中。
你可以按照说明去做
用于Python 2.7.12)安装virtualenv
3)使用本地python创建VirtualNV
4)激活环境
cd ~/virtualenvs/py2.7/bin
source ./activate
5)检查
(py2.7)$ python
Python 2.7.1 (r271:86832, Mar 31 2011, 15:31:37)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)$ deactivate
$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
此过程在任何位置安装Python2.7,并消除
env
文件夹(由virtualenv管理)中的任何绝对路径引用。甚至virtualenv也不是绝对安装的
因此,从理论上讲,您可以将顶级目录放入tarball中,在未安装Python(或任何依赖项)的机器上分发和运行tarball中配置的任何内容
如有任何问题,请与我联系。这只是我正在进行的一个更大项目的一部分。现在,对于下降
$ mkdir env
$ mkdir pyenv
$ mkdir dep
$ 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
pyenv
dir中<如果您第2次、第3次、第n次执行此操作,则“代码>清除”是可选的
$ 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
$ 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 ../../
$ 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
您好。尽管这个问题专门描述了安装2.6,但我想在上面的优秀答案中添加一些要点,以防有人遇到这个问题。作为记录,我的案例是我试图在ubuntu 10.04上安装2.7 首先,我对这里所有答案中描述的方法的动机是,从安装Python完全失败了。因此,构建本地Python是一条可行的道路 尝试过之后,我认为依赖pip的默认安装(使用
sudo apt get install pip
)就足够了。不幸的是,这是错误的。事实证明,我得到了所有令人讨厌的问题,最终无法创建一个虚拟电视短片
因此,我强烈建议使用wgethttps://raw.github.com/pypa/pip/master/contrib/get-pip.py &&python get-pip.py——用户
。相关问题给了我这个提示
现在,如果这不起作用,请确保安装了Ubuntu或CentOS。使用apt get
或yum
安装它们,然后重新构建Python(如果已经安装,则无需删除任何内容,请在顶部执行)getpip
对此表示不满,您可以通过在py shell上运行importssl
进行检查
最后,不要忘记声明
.local/bin
和local python to path,检查哪个pip
和哪个python
我正在使用virtualenvwrapper,不想修改$path,以下是方法:
$ which python3
/usr/local/bin/python3
$ mkvirtualenv --python=/usr/local/bin/python3 env_name
我还没有找到合适的答案,所以我的观点是,它建立在@toszter-answer的基础上,但不使用系统Python(您可能知道,在处理许多Python配置时,在系统级安装setuptools和virtualenv并不总是一个好主意): 解决这一问题的诀窍是首先在不使用setuptools的情况下生成virtualenv,否则它将失败(无法找到pip)。直接安装pip/车轮可能是可能的,但我首先想到的是如何简单地安装。此外,可以通过分解具体版本来改进脚本
注意。在脚本中使用xz。现在已经有一天了,我发现获得更更新版本的Python的最简单方法是通过conda将其安装到conda环境中
安装conda(为此,您可能需要一个virtualenv)
在conda环境中安装新的Python版本 我在这里添加这个答案是因为不需要手动下载<代码>康达将为您完成此操作 现在为您所使用的Python版本创建一个环境
$ python --version
Python 2.7.1
$ source env/bin/activate
(env)
$ python --version
Python 2.7.3
$ which python3
/usr/local/bin/python3
$ mkvirtualenv --python=/usr/local/bin/python3 env_name
#!/bin/sh
mkdir python_ve
cd python_ve
MYROOT=`pwd`
mkdir env pyenv dep
cd ${MYROOT}/dep
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-15.2.tar.gz#md5=a9028a9794fc7ae02320d32e2d7e12ee
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
xz -d Python-2.7.9.tar.xz
cd ${MYROOT}/pyenv
tar xf ../dep/Python-2.7.9.tar
cd Python-2.7.9
./configure --prefix=${MYROOT}/pyenv && make -j 4 && make install
cd ${MYROOT}/pyenv
tar xzf ../dep/setuptools-15.2.tar.gz
cd ${MYROOT}
pyenv/bin/python dep/virtualenv.py --no-setuptools --python=${MYROOT}/pyenv/bin/python --verbose env
env/bin/python pyenv/setuptools-15.2/setup.py install
env/bin/easy_install pip
echo "virtualenv in ${MYROOT}/env"
pip install conda
conda create -n py35 python=3.5.2
source activate py35
conda install <package_name>
pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.6.6
wget http://downloads.activestate.com/ActivePython/releases/2.7.13.2713/ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz
tar -zxvf ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz
cd ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785
./install.sh
../../.localpython
$ curl https://pyenv.run | bash
pyenv install 3.5.6
pyenv virtualenv 3.5.6 NAME_OF_YOUR_ENV
cd YOUR_PROJECT_PATH
pyenv local NAME_OF_YOUR_ENV