用 Conda 來管理 Python 虛擬環(huán)境
平時(shí)我們?cè)谑褂肞ython的時(shí)候,有可能會(huì)使用多個(gè)Python環(huán)境,有的是Python版本不同,有的則是Python的第三方模塊使用情況不同,因此,我們需要對(duì)Python進(jìn)行虛擬環(huán)境管理。
使用Python虛擬環(huán)境的好處在于,一方面它能為項(xiàng)目的運(yùn)行提供完整的環(huán)境支持,比如Python版本,第三方模塊等,另一方面它能為項(xiàng)目的運(yùn)行指定所需的環(huán)境,避免了Python不同版本和不同第三方模塊之間的干擾。Python的虛擬環(huán)境管理有多種實(shí)現(xiàn)方式,比如Conda和Python自帶的管理工具virtualenv。
本文將會(huì)介紹如何使用Conda來管理Python虛擬環(huán)境。
使用Conda管理Python虛擬環(huán)境
首先需要確認(rèn)在你的系統(tǒng)中安裝了Anconda。檢查系統(tǒng)中是否安裝Anconda的命令為conda -V,如下:

Conda的常用命令如下:
conda?list????????#?查看安裝了哪些包
conda?env?list????????#?查看安裝了哪些虛擬環(huán)境
conda?update?conda????????#?檢查更新當(dāng)前conda

使用Conda來
創(chuàng)建虛擬環(huán)境的命令如下:conda?create?-n?your_env_name?python=X.X
其中,your_env_name是虛擬環(huán)境的名稱,自己隨便指定。python后面跟指定的Python版本,可以是2.7, 3.6, 3.7等。
創(chuàng)建好了自己的虛擬環(huán)境之后,就可以來激活虛擬環(huán)境,命令如下:
Linux:?source?activate?your_env_name或者conda?activate?your_env_name
Windows:?activate?your_env_name
如果需要在虛擬環(huán)境中安裝第三方模塊,則命令如下:
conda?install?-n?your_env_name?[package]
最后是退出虛擬環(huán)境,命令如下:
Linux:?source?deactivate或者conda?deactivate
Windows:?deactivate
演示
在這部分中,我們將創(chuàng)建兩個(gè)虛擬環(huán)境py2-lmj和py3-lmj,一個(gè)是Python2環(huán)境,一個(gè)是Python3環(huán)境,并展示如何使用這兩個(gè)環(huán)境。
我們分別在py2-lmj和py3-lmj這兩個(gè)環(huán)境中演示1/2的結(jié)果以及輸出字符串"hello world!"。
[vagrant@localhost?~]$?conda?create?-n?py3-lmj?python=3.6
[vagrant@localhost?~]$?conda?create?-n?py2-lmj?python=2.7
[vagrant@localhost?~]$?conda?env?list
#?conda?environments:
#
py2-lmj??????????????????/home/vagrant/.conda/envs/py2-lmj
py3-lmj??????????????????/home/vagrant/.conda/envs/py3-lmj
base??????????????????*??/usr/local/Anaconda3
rasa_env?????????????????/usr/local/Anaconda3/envs/rasa_env
tfgpu????????????????????/usr/local/Anaconda3/envs/tfgpu
[vagrant@localhost?~]$?conda?activate?py3-lmj
(py3-lmj)?[vagrant@localhost?~]$?python
Python?3.6.10?|Anaconda,?Inc.|?(default,?May??8?2020,?02:54:21)
[GCC?7.3.0]?on?linux
Type?"help",?"copyright",?"credits"?or?"license"?for?more?information.
>>>?1/2
0.5
>>>?print("hello?world!")
hello?world!
>>>?print?"hello?world!"
??File?"" ,?line?1
????print?"hello?world!"
???????????????????????^
SyntaxError:?Missing?parentheses?in?call?to?'print'.?Did?you?mean?print("hello?world!")?
>>>?quit()
(py3-lmj)?[vagrant@localhost?~]$?conda?deactivate
[vagrant@localhost?~]$?conda?activate?py2-lmj
(py2-lmj)?[vagrant@localhost?~]$?python
Python?2.7.18?|Anaconda,?Inc.|?(default,?Apr?23?2020,?22:42:48)
[GCC?7.3.0]?on?linux2
Type?"help",?"copyright",?"credits"?or?"license"?for?more?information.
>>>?1/2
0
>>>?print("hello?world!")
hello?world!
>>>?print?"hello?world!"
hello?world!
>>>?quit()
(py2-lmj)?[vagrant@localhost?~]$?conda?deactivate
更多閱讀
特別推薦

點(diǎn)擊下方閱讀原文加入社區(qū)會(huì)員
