在virtualenv中使用不同的Python版本

来源:百度SEO公司   我有一个目前使用python 2.5.4运行的Debian系统。 我正确安装了virtualenv,一切正常。 我是否可以将virtualenv与其他版本的Python一起使用?

我编译了Python 2.6.2,并希望将其与一些virtualenv一起使用。 覆盖二进制文件是否足够? 还是我必须更改有关库的某些内容?


#1楼

这些是您在共享主机环境上且需要从源代码安装和编译Python,然后从您的Python版本创建venv时执行的步骤。 对于Python 2.7.9,您可以按照以下方式进行操作:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

虚拟环境

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate

自然,这可以适用于您想要复制工作和部署的确切环境的任何情况。


#2楼

在创建virtualenv实例时,只需使用--python (或short -p )选项即可指定要使用的Python可执行文件,例如:

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

注意:对于Python 3.3或更高版本,请参阅下面的Aelfinn 答案 。


#3楼

virtualenv --python=/usr/bin/python2.6 <path/to/myvirtualenv>

#4楼

假设您当前在virtualenv中安装了python 2.7。 但是要使用python3.2 ,您必须使用以下python3.2进行更新:

$ virtualenv --python=/usr/bin/python3.2 name_of_your_virtualenv

然后通过以下方式激活您的virtualenv :

$ source activate name_of_your_virtualenv

然后执行以下操作:在shell中使用python --version检查您的版本是否已更新。


#5楼

Mac OSX 10.6.8(Snow Leopard):

1)当您进行pip install virtualenv ,pip命令与您的一个python版本相关联,并且virtualenv被安装到该python版本中。 你可以做

 $ which pip

看看是什么版本的python。 如果您看到类似以下内容:

 $ which pip
 /usr/local/bin/pip

然后做:

$ ls -al /usr/local/bin/pip
lrwxrwxr-x  1 root  admin  65 Apr 10  2015 /usr/local/bin/pip ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pip

您可以在输出中看到python版本。

默认情况下,它将是用于您创建的任何新环境的python版本。 但是,您可以使用-p flag指定计算机上安装的任何版本的python以在新环境中使用:

$ virtualenv -p python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3.2
New python executable in my_env/bin/python
Installing setuptools, pip...done.

virtualenv my_env将在当前目录中创建一个文件夹,其中将包含Python可执行文件以及pip [command]的副本,可用于安装其他软件包。

http://docs.python-guide.org/en/latest/dev/virtualenvs/

virtualenv只是将python从您计算机上的某个位置复制到新创建的my_env / bin /目录中。

2)系统python位于/usr/bin ,而我安装的各种python版本默认情况下均安装在:

 /usr/local/bin

3)我安装的各种python3.2名称都像python2.7python3.2 ,我可以使用这些名称而不是完整路径。

========虚拟环境=========

1)我在使virtualenvwrapper正常工作时遇到一些问题。 这就是我最终放入~/.bash_profile :

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/django_projects  #Not very important -- mkproject command uses this
#Added the following based on:
#http://stackoverflow.com/questions/19665327/virtualenvwrapper-installation-snow-leopard-python
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
#source /usr/local/bin/virtualenvwrapper.sh
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

2) -p option与virtualenvwrapper的工作方式不同:我必须指定要在新环境中使用的python解释器的完整路径(当我不想使用默认的python版本时):

$ mkvirtualenv -p /usr/local/bin/python3.2 my_env
Running virtualenv with interpreter /usr/local/bin/python3
New python executable in my_env/bin/python
Installing setuptools, pip...done.
Usage: source deactivate

removes the ‘bin‘ directory of the environment activated with ‘source
activate‘ from PATH.

与virtualenv不同,virtualenvwrapper将在$ WORKON_HOME环境变量指定的位置创建环境。 这样可以将您所有的环境都放在一个地方。

原文地址:https://www.cnblogs.com/1994jinnan/p/12037466.html

时间: 2024-10-10 04:41:25

在virtualenv中使用不同的Python版本的相关文章

如何在virtualenv环境中安装指定的python版本

指定python版本:virtualenv   -p python执行文件路径     自定义虚拟环境名称.如果文件路径有空格,用引号. 如果不指定python版本,则默认使用环境变量中的python版本 可使用-p PYTHON_EXE选项在创建虚拟环境的时候指定Python版本 1 #创建python2.7虚拟环境 2 virtualenv -p /usr/bin/python2.7 ENV2.7 3 4 #创建python3.4虚拟环境 5 virtualenv -p /usr/local

python系列(六)centos7.x中部署多个python版本

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! CentOS7通过pyenv安装Python3和virtualenv CentOS中默认安装Python版本是2.7.5版.我们将一步步在CentOS服务器上的安装Python3.6.1. 由于CentOS系统内很多工具都依赖于系统自带的Python2.7.5,所以为了不影响Python2.7.5的使用,就使用Pyenv进行环境隔离.vi

python系列(五)centos6.x中部署多个python版本

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 使用pyenv+virtualenv方式部署python多版本 pyenvvs virtualenv pyenv 是针对 python 版本的管理,通过修改环境变量的方式实现: virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换.

使用 pyenv 可以在一个系统中安装多个python版本

Installl related yum install readline readline-devel readline-static -y yum install openssl openssl-devel openssl-static -y yum install sqlite-devel -y yum install bzip2-devel bzip2-libs -y Install pyenv git clone git://github.com/yyuu/pyenv.git ~/.p

在centos中部署多个python版本

使用pyenv+virtualenv方式部署python多版本 pyenv vs virtualenv pyenv 是针对 python 版本的管理,通过修改环境变量的方式实现: virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换. pyenv 原理 pyenv 的美好之处在于,它并没有使用将不同的 $PATH 植入不同的 shell 这种高耦合的工作方式,而是简单地在 $PATH 的最

Debian中如何切换默认Python版本

当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件,你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用: $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4 /usr/bin/pytho

〖Linux〗安装和使用virtualenv,方便多个Python版本中切换

1. 安装pip easy_install pip 2. 安装virtualenvwrapper sudo pip install virtualenvwrapper 3. 使用virtualenv source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv test1 # 创建 deactivate # 离开 workon test1 # 返回 rmvirtualenv test1 # 删除 好处:为项目创建一个干净的开发环境

CentOS 5升级Python版本(2.4&gt;2.7)

安装SALT时,需要这样作,公司有一批REDHAT5的,弄起来... 然后却是: Missing Dependency: python(abi) = 2.6 is needed by package rpm -q --provides python | grep abi python(abi) = 2.4 过程很顺利,参考URL: http://www.linuxidc.com/Linux/2012-02/55194.htm 日前在CentOS上搭建测试环境时候,遇到需要升级python版本的情

CentOS7 下升级Python版本

来博客园的第一篇博客,以后要坚持养成记录.分享的习惯啊,这样生活才会有痕迹~ 服务器版本:CentOS 7.3 64位 旧Python版本:2.7.5 新Python版本:3.8.0 说明:本次配置使用root用户进行操作,故在代码中未使用sudo语句,请使用非root用户留意 1.切换工作目录至/usr/local 在Linux系统下,路径/usr/local相当于C:/Progrem Files/,通常安装软件时便安装到此目录下. 执行命令: cd /usr/local 2.下载目标pyth