摘要:讓我們探討以下用例如果您使用單個版本的如版本,并且想要管理不同的虛擬環境,那么就是您所需要的。如果你想使用多個版本的,不管是否有虛擬環境,那么請使用。和使用時,我們現在知道如何在不同版本的之間安裝和切換,以及如何創建新的虛擬環境。
多個Python版本:在同一臺機器上安裝不同的Python,例如2.7和3.4。
虛擬環境:獨立的環境,既可以同時安裝特定版本的Python,也可以安裝任何特定于項目的軟件包,而不會影響任何其他項目。
在這里,我們將介紹使用這些工具的三種不同工具,以及何時需要每種工具。讓我們探討以下用例:
venv / pyvenv
pyenv
pyenv-virtualenv
如果您使用單個版本的Python如3.3+版本,并且想要管理不同的虛擬環境,那么venv就是您所需要的。
如果你想使用多個3.3+版本的Python,不管是否有虛擬環境,那么請使用pyenv。
如果您還想使用Python 2,那么這pyenv-virtualenv是一個不錯的選擇。
VENVPython 3.3+版本中包含venv包。它是創建輕量級虛擬環境的理想選擇。
直到Python 3.6,一個被調用的腳本pyvenv也作為包裝器被包含在內venv,但是這已被棄用。它將在Python 3.8中被完全刪除。當使用venv時,可以使用完全相同的功能,并且應更新所有現有的文檔。
venv用于通過終端命令創建一個新的環境:
$ python3 -m venv directory-name-to-create
激活:
$ source name-given/bin/activate
通過以下方式停用:
$ deactivate
如果您在停用環境后需要完全刪除環境,則可以運行:
$ rm -r name-given
默認情況下,它創建的環境是您當前正在使用的Python版本。如果您正在編寫文檔,并希望讀者使用正確版本的Python,則可以在命令中指定主要版本號和次要版本號,如下所示:
$ python3.6 -m venv example-three-six
如果閱讀器使用3.6以外的版本,則該命令將不會成功,并將在其錯誤消息中指示。但是,任何補丁版本(例如3.6.4)都可以使用。
當環境處于活動狀態時,任何包都可以通過pip正常安裝到它。默認情況下,新創建的環境不包含計算機上已安裝的任何軟件包。因為pip它本身不一定會安裝在機器上。建議先使用,升級pip到最新版本pip install --upgrade pip。
項目通常會有一個requirements.txt指定其依賴項的文件。這允許使用shortcut命令pip install -r requirements.txt命令將所有包快速安裝到新創建的虛擬環境中。它們只存在于虛擬環境中。它在停用時將不可用,但在重新激活時將保持不變。
如果您不需要使用Python本身的其他版本,那么您只需要創建隔離的、特定于項目的虛擬環境。
pyenv如果您希望在一臺計算機上使用多個版本的Python,那么pyenv是在版本之間安裝和切換的常用工具。這不能與前面提到的貶值的pyenv腳本混淆。它不是與Python綁定的,必須多帶帶安裝。
pyenv文檔對它的工作原理進行了很好的描述,因此我們將在這里簡單介紹如何使用它。首先,我們需要安裝它。如果使用Mac OS X,可以使用Homebrew執行此操作,或者考慮其他安裝選項。
$ brew update $ brew install pyenv
接下來,在shell腳本的底部添加以下內容,以允許pyenv自動更改版本:
eval "$(pyenv init -)"
打開您在使用外殼腳本,通過$ ~/.zshrc,$ ~/.bashrc或$ ~/.bash_profile復制并粘貼在上面的行。
運行pyenv版本將顯示當前安裝了哪些Python版本,在當前使用的版本旁邊有一個*。pyenv version直接顯示了這一點,python——version可以用來驗證這一點。
要安裝一個附加版本,比如3.4.0,只需使用pyenv install 3.4.0。
pyenv從四個方面來決定使用哪個版本的Python,優先順序如下:
PYENV_VERSION環境變量(如果指定)。您可以使用該pyenv shell命令在當前shell會話中設置此環境變量。
當前目錄中的特定于應用程序的.python版本文件(如果存在)。您可以使用pyenv local命令修改當前目錄的.python版本文件。
通過搜索每個父目錄找到(如果有的話)第一個.python版本的文件,直到找到文件系統的根目錄。
全局版本文件。您可以使用pyenv全局命令修改這個文件。如果不存在全局版本文件,pyenv假設您希望使用“system”Python。(換句話說,如果pyenv不在您的路徑中,則運行哪個版本。)
當設置一個使用Python 3.6.4的新項目時,pyenv local 3.6.4將運行在它的根目錄中。這將設置版本,并創建一個.python-version文件,以便其他貢獻者的機器能夠接收它。
pyenv命令的完整描述可以添加書簽。
pyenv和venv使用Python 3.3+時,我們現在知道如何在不同版本的Python之間安裝和切換,以及如何創建新的虛擬環境。
舉個例子,假設我們正在建立一個使用Python 3.4的項目。
首先,我們可以使用設置本地版本pyenv local 3.4.0。
如果我們然后運行python3 -m venv example-project新的虛擬環境將example-project使用我們在本地啟用的Python 3.4.0進行設置。
我們激活使用source example-project/bin/activate并可以開始工作。
接下來,我們可以選擇記錄協作者應該使用的內容python3.4 -m venv
如果我們認為任何大于3.4的版本都是可以接受的,那么我們也可以選擇使用python3而不是python3.4,就像合作者使用3.6一樣,否則他們也會收到一個錯誤。這是一個特定于項目的決策。
pyenv-virtualenvpyenv可用于安裝Python 2和3版本。但是,正如我們所看到的,venv僅限于大于3.3的Python版本。
pyenv-virtualenv是一個創建與pyenv集成的虛擬環境的工具,適用于所有Python版本。如果可能,仍然建議使用官方的Python venv。但是,例如,如果您正在創建一個基于2.7.13的虛擬環境,那么這是對pyenv的贊美。
如果您已經使用它,它也適用于Anaconda和Miniconda conda環境。virtualenv還存在一個名為的工具。這里沒有涉及,但它最后是聯系在一起的。
安裝pyenv,接下來可以使用Homebrew(或替代品)進行安裝,如下所示:
$ brew install pyenv-virtualenv
接下來在你的 .zshrc,, .bashrc或 .bash_profile(取決于你使用的shell)在底部添加以下內容:
eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
這允許pyenv在移動目錄時自動激活和停用環境。
要創建新的虛擬環境,請使用:
$ pyenv virtualenv// for example $ pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
可以列出現有環境:
$ pyenv virtualenvs
激活/停用:
$ pyenv activate$ pyenv deactivate
在撰寫本文時activate,prompt changing will be removed from future release將顯示使用警告。這是預期的,僅指(env-name)在shell中顯示的內容,而不是activate命令本身的使用。
安裝要求的工作原理如下所述venv。不像在venv一個rm -r命令不需要刪除一個環境,一個uninstall命令存在。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43739.html
引入—— 解決兩個在python開發中很常見的問題: Python很萬能,這誰都知道(我也知道哈),但這就意味著——Python的庫多,是真的多!你要用哪個庫,就直接下載!pip install!很簡單吧,是很簡單!但是,這樣會很直接的帶來一個問題,也是很多新手容易犯得——你一看他的Python環境,全是第三方包,密密麻麻的,甚至于開個pycharm,加載第三方包都得加載半年,他還不知道為啥(傻...
摘要:坑人的版本的版本問題一直是個廣被吐槽的黑點。這些版本的沖突在開發中十分常見,而和的版本差異又加劇了這一問題。從而避免與其他版本發生干擾。 坑人的版本 Python 的版本問題一直是個廣被吐槽的黑點。以至于有人調侃說: Python 是世界上最好的兩種語言! 在這里我要說明下,對于初學者來說,版本間的語法差異其實并不大。現在剛開始學 Python 的人,放心大膽地 用最新版本 即可。業內...
摘要:學習利器我的小白安裝之路序易用,但用好卻不易,其中比較頭疼的就是包管理和不同版本的問題,特別是當你使用的時候。另外值得一提的是,并不僅僅管理的工具包,它也能安裝非的包。 Python學習利器——我的小白 Anaconda安裝之路 序 Python易用,但用好卻不易,其中比較頭疼的就是包管理和Python不同版本的問題,特別是當你使用Windows的時候。為了解決這些問題,有不少發行版的...
在進行深度學習或機器學習開發時,TensorFlow是一個非常常用的開源框架。在安裝TensorFlow時,使用conda可以幫助我們更輕松地管理Python環境和安裝所需的庫和依賴項。本文將向您介紹如何使用conda在Windows、macOS和Linux系統中安裝TensorFlow。 ## 步驟一:安裝Anaconda 要使用conda,您需要先安裝Anaconda。Anaconda是一...
摘要:三個常用的虛擬環境配置來匯總,如有不適之處,還望各位大佬指正。一個項目對應一個,支持開發環境與正式環境區分。其使用創建環境,以便分隔使用不同版本和不同程序包的項目。 前言 和其他大多數現代編程語言一樣,Python對包和 模塊的下載、存儲以及管理有其自己的一套方法。但是當我們同時開發多個項目工程的時候,不同的項目會將第三方的包存放在相同的路徑下。這就意味著,如果有兩個工程依賴同一個包,但是所...
閱讀 3523·2021-10-08 10:04
閱讀 870·2019-08-30 15:54
閱讀 2186·2019-08-29 16:09
閱讀 1353·2019-08-29 15:41
閱讀 2280·2019-08-29 11:01
閱讀 1741·2019-08-26 13:51
閱讀 1031·2019-08-26 13:25
閱讀 1817·2019-08-26 13:24