python 虛擬環境安裝


virtualenv 是用來創建 Python 的虛擬環境的庫,虛擬環境能夠獨立於真實環境存在,並且可以同時有多個互相獨立的 Python 虛擬環境,每個虛擬環境都可以營造一個干凈的開發環境,對於項目的依賴、版本的控制有着非常重要的作用。

虛擬環境有什么意義?打個比喻,現在有一個 Django 項目,使用的 Django 版本是1.8,但是系統的 Django 版本已經是更加新的1.11,如果使用系統的環境來運行項目,可能導致很多不兼容,於是,這個問題就可以使用一個虛擬環境來解決,使用 virtualenv 來創建一個只給這個項目運行的開發環境,既可以保證項目的正常運行,也方便了之后移植項目。

virtualenv 的安裝和使用

由於 virtualenv 在 Windows 和 linux 上的安裝和使用有一點點不同,所以需要分別來講。

安裝 virtualenv

virtualenv 的安裝在 Windows 和 linux 上面是一樣的,所以不分開講解。安裝 virtualenv 跟安裝一般的 Python 庫是一樣的操作,直接使用 pip 命令就行了:

pip install virtualenv

安裝完成之后就可以使用 virtualenv 的命令來創建虛擬環境了,首先需要在 cmd 命令中進入需要創建虛擬環境的文件夾,比如 F 盤的 envs 文件夾,然后使用以下命令創建一個虛擬環境,暫且取名為 new_env:

virtualenv new_env

可以看到類似如下的結果:

F:\envs>virtualenv new_env
Using base prefix 'f:\\python352'
New python executable in F:\envs\new_env\Scripts\python.exe
Installing setuptools, pip, wheel...done.

上面這段返回的意思是使用當前系統的 Python 版本創建一個虛擬環境

使用 virtualenv

  • 在 Windows 系統上面使用 virtualenv

首先進入到虛擬環境目錄中的 Scripts 目錄:

F:\envs>cd new_env\Scripts

然后輸入activate就可以了,會出現如下的結果:

(new_env) F:\envs\new_env\Scripts>

在地址的前面出現了一個括號和虛擬環境的名稱,這個就表示現在已經在虛擬環境 new_env 中了,之后的所有操作都是在虛擬環境中進行的,直接輸入python可以查看當前環境下的 Python 版本,可以得到如下輸出:

(new_env) F:\envs\new_env\Scripts>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

使用piplist命令可以查看當前環境下的所有包含的庫的版本:

(new_env) F:\envs\new_env\Scripts>pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.co
nf under the [list] section) to disable this warning.
pip (9.0.1)
setuptools (38.5.2)
wheel (0.30.0)
  • 在 Linux 上使用 virtualenv Linux 上面進入虛擬環境的方式跟 Windows 稍微有點不同,可以直接使用命令來進入,比如同樣在 Linux 上面的 envs 文件夾下面有個 new_env 虛擬環境,則直接輸入以下命令就可以進入虛擬環境:
$ source new_env/bin/activate 

同樣可以看到類似如下的結果:

(new_env) alex@VirtualBox:~/www/envs$ 

進入了虛擬環境之后,Windows 和 Linux 上面的操作都是一樣的,這里就不單獨去說明了。

使用 virtualenvwrapper管理環境

virtualenvwrapper 是一個 virtualenv 虛擬環境的管理庫,這個庫可以更加方便的管理所有的虛擬環境,由於在 Windows 和 Linux 上面這個庫的安裝和配置不同,所以要單獨做說明。

Windows 上安裝環境

1、Windows 上需要安裝的是virtualenvwrapper-win,直接使用pip命令就可以了:

pip install virtualenvwrapper-win

2、配置虛擬環境的保存路徑。首先需要在想要統一存放虛擬環境的地方創建一個文件夾(我在F盤建立了F:\space_env),然后把這個文件夾添加到系統的環境變量中,具體添加方式看截圖:virtualenvwrapper-win系統環境配置

3、注意說明: - 如果不設置系統環境變量,那么創建的虛擬環境會保存到默認的地方,不方便管理 - 添加了環境變量之后,需要重啟 cmd 窗口,如果是使用的 pycharm 也要重啟一下才行

Linux 上安裝環境

1、使用pip命令安裝,如果系統上面有兩個版本的 Python(一般默認是2.7和3.52兩個版本),那么要看虛擬環境要什么默認 Python 版本了,比如要使用3.52的版本作為虛擬環境的 Python 版本,那么就應該使用如下命令:

pip3 install virtualenvwrapper

2、配置環境變量文件。首先修改(文件不存在就創建)文件~/.bashrc,然后添加如下語句:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

然后運行:

source ~/.bashrc

如果沒有報錯,那么說明配置完成了,可以使用命令看看是否可以使用:

mkvirtualenv new_env

報錯的解決方案

如果上述操作報錯了,那么應該是你的 Linux 上面有兩個版本的 Python,比如我的就報錯了,我的上面有一個2.7的和一個3.5的版本。

如果報錯如下提示:

/usr/local/bin/virtualenvwrapper.sh: No such file or directory

則說明這個文件不存在,可以使用find命令來查找正確的位置:

find / -name "virtualenvwrapper.sh"

比如我因為是在3.5版本的 Python 中安裝的virtualenvwrapper,所以發現這個.sh文件在這個地址中

/home/alex/.local/bin/virtualenvwrapper.sh

所以上面的文件中的最后一個語句改成

source /home/alex/.local/bin/virtualenvwrapper.sh

改完這個地方應該還是會報錯,大概是在說沒有安裝這個虛擬環境庫,就像這樣

/usr/bin/python: No module named virtualenvwrapper

之所以報錯這個是因為我用的3.5版本安裝的這個環境,系統的2.7版本是沒有的,所以還需要添加一個語句:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

其中表明了 python3 的位置,當然,這個位置需要你自己查看自己的系統上面安裝的位置,查看方式可以使用:

which python3

最終我的~/.bashrc文件中的語句是這樣的:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /home/alex/.local/bin/virtualenvwrapper.sh

然后可以運行這個文件:

source ~/.bashrc

沒有報錯就說明環境設置好了,現在可以開始使用環境了。

virtualenvwrapper 命令

  • 創建虛擬環境:mkvirtualenv new_env
  • 使用虛擬環境:workon new_env
  • 退出虛擬環境:deactivate
  • 刪除虛擬環境: rmvirtualenv new_env
  • 查看所有虛擬環境:lsvirtualenv

requirements.txt 文件的操作

生成文件

在虛擬環境中使用一下命令可以生成一個虛擬環境的安裝包版本文件

(venv) $ pip freeze >F:A_FILE\requirements.txt

需要注意的地方:

  • 指定生成文件的目錄
  • 文件生成之后,有時候需要調整安裝包的順序,例如一個安裝包是依賴另一個的,則需要把依賴包放在靠前的位置
  • 如果想安裝某個包的最新版,則把==及后面的版本信息刪除即可

復制環境

首先新建一個虛擬環境,然后把當前位置切換到需求文件所在目錄下,然后在新建的虛擬環境中運行以下命令就可以安裝需求文件中所有的依賴庫,相當於復制了一個虛擬環境。

(venv) $ pip install -r requirements.txt

當然,如果不把當前目錄切換到需求文件所在目錄也是可以安裝需求文件的依賴的,但是要指明需求文件的絕對地址,例如:

(venv) $ pip install -r >F:A_FILE\requirements.txt


免責聲明!

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



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