在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環境變量指定的位置創建環境。 這樣可以將您所有的環境都放在一個地方。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM