来源:百度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环境变量指定的位置创建环境。 这样可以将您所有的环境都放在一个地方。

 

最新文章

  1. 【Beta】Daily Scrum Meeting第二次
  2. 有了lisk,为什么我们还要做一个Asch?
  3. 高校手机签到系统——Ksoap2的一些使用心得(补充)
  4. for循环的嵌套——7月24日
  5. Ext.Net学习笔记23:Ext.Net TabPanel用法详解
  6. [cocos2dx注意事项009]试用quick-cocos2dx-2.2.4
  7. Linux盘符绑定槽位
  8. ACM学习之路___HDU 2066 一个人的旅行
  9. 【WC2001】【cogs358】高性能计算机(动态规划)
  10. JQuery DataTables Selected Row
  11. C# VideoAPI
  12. 学习一个Vue模板项目
  13. [js]Object.defineProperty等几个js特殊方法
  14. MIT-6.824 Lab 3: Fault-tolerant Key/Value Service
  15. css3 实现圆角边框的border-radius属性和实现阴影效果的box-shadow属性
  16. Server Process
  17. 从hive将数据导出到mysql(转)
  18. patch需要数据格式前端算法,patch算法基础,两个对象对比取差异属性
  19. Django之 中间件
  20. 【[SCOI2015]小凸玩矩阵】

热门文章

  1. Qt跨平台原理
  2. 玫瑰花小制作分享-JavaScript(七夕专属浪漫)
  3. PAT(B) 1027 打印沙漏(Java)
  4. teamviewer远程控制程序免费版百度云下载
  5. PB学习笔记之随笔
  6. Luogu5280 [ZJOI2019] 线段树 【线段树】
  7. Codeforces Round #419 (Div. 1) (ABCD)
  8. ajax提交异常解决
  9. ReactNative使用 react-navigation 详解
  10. python OpenCV使用