Python 虛擬環境

什麼是虛擬環境?

虛擬環境主要是爲了獨立多個 Python 解釋器環境出來。這有什麼用呢?

比如你在網上下了一個 Python 的開源系統,其中用到了 Django 1.11 版本,而你現在系統環境中安裝的是 Django 2.2 的版本,那你現在是卸載掉 2.2 的版本重新安裝 1.11 的版本?

但是又有其他的相同用到了 Django 2.2 的版本,這就尷尬了。那麼你可以通過建立虛擬環境,讓這兩個版本都能並存。需要用 1.1 版本的就使用虛擬環境,在其中安裝 1.1 的版本,而另外的項目就用系統環境中的 2.2 版本。

而且不同的項目用到的庫不一樣,如果全部下載到系統環境的話就會有非常多的庫,系統環境會變的非常臃腫。

虛擬環境相當於從系統環境中複製一套 Python 的運行環境,有獨立的 Python 運行文件,也有獨立的 pip。虛擬環境可以創建無數套,並且互不影響,同時也不會影響到系統環境。

如果你是初學者,接觸的庫不多,用到的同一個庫不同版本的情況不多,可以不使用虛擬環境。當你逐漸深入掌握 Python 後就會用到。

如何創建虛擬環境?

有兩種方式,早期(Python3.4以前)創建虛擬環境需要專門下載一個 virtualenv庫。3.4 以後的版本自帶了 venv 命令,與 virtualenv 具有相同的效果。

如果需要使用 virtualenv 需要pip install virtualenv然後使用virtualenv命令。或者直接使用 venv 命令python -m venv。(兩個命令效果一致)

創建虛擬環境命令如下:

python -m venv -p Python.exe路徑 --no-site-packages D:\PythonProject\my_django\venv
  • -p Python.exe路徑:如果你電腦上有多個 Python 版本,需要通過指定 python.exe 文件來指定系統環境的 Python,如-p C:\python36\python.exe
  • –no-site-packages:不拷貝系統環境中的第三方庫,其實默認也不會拷貝
  • D:\PythonProject\my_django\venv:虛擬環境創建的位置

其實,你也可以不用這麼麻煩,如果你只有一個 Python 版本,那麼直接使用下面的命令即可:

python -m venv D:\PythonProject\my_django\venv

我們可以看到在我們指定的目錄下創建了一系列的文件:

其實,這就是虛擬環境啦。只是除了這些文件外還沒什麼感覺。那如何使用呢?

激活虛擬環境

一般你使用的 IDE 工具,比如 Pycharm 會自動激活指定的虛擬環境,並使用虛擬環境中的 Python.exe 來運行代碼,也只使用虛擬環境中已安裝的庫,使用 pip 也是下載到虛擬環境。

這就是爲什麼很多同學在初學過程中,使用 Pycharm 這樣的工具時,通過 pip 命令下載的第三方庫在寫代碼的時候引入失敗的原因了。
Pycharm 每次創建項目時默認會創建一個虛擬環境。
你在不知不覺中就使用了虛擬環境。

如果我們要在命令行使用虛擬環境中的 Python 來運行 py 文件的話,就需要手動激活。

激動方式是,先進入虛擬環境目錄中的Scripts目錄,如D:\PythonProject\my_django\venv\Scripts。然後使用 activate 命令來激活當前虛擬環境。

$ cd D:\PythonProject\my_django\venv\Scripts
$ activate

你會看到在命令提示符前面多了個(venv)字樣:


接下來,你輸入的 Python 命令和 pip 命令都是在當前的虛擬環境下執行了,不會影響到系統環境。

如果你想要退出虛擬環境,使用命令deactivate即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章