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