平時我們在使用python的時候,有可能會使用多個python環境,有的是python版本不同,有的則是python的第三方模組使用情況不同,因此,我們需要對python進行虛擬環境管理。
使用python虛擬環境的好處在於,一方面它能為專案的執行提供完整的環境支援,比如python版本,第三方模組等,另一方面它能為專案的執行指定所需的環境,避免了python不同版本和不同第三方模組之間的干擾。python的虛擬環境管理有多種實現方式,比如conda
和python自帶的管理工具virtualenv
。
本文將會介紹如何使用conda來管理python虛擬環境。
首先需要確認在你的系統中安裝了anconda
。檢查系統中是否安裝anconda
的命令為conda -v
,如下:
conda的常用命令如下:
conda list # 檢視安裝了哪些包
conda env list # 檢視安裝了哪些虛擬環境
conda update conda # 檢查更新當前conda
使用conda來建立虛擬環境
的命令如下:
conda create -n your_env_name python=x.x
其中,your_env_name是虛擬環境的名稱,自己隨便指定。python後面跟指定的python版本,可以是2.7, 3.6, 3.7等。
建立好了自己的虛擬環境之後,就可以來啟用虛擬環境
,命令如下:
linux: source activate your_env_name或者conda activate your_env_name
windows: activate your_env_name
如果需要在虛擬環境中安裝第三方模組,則命令如下:
conda install -n your_env_name [package]
最後是退出虛擬環境
,命令如下:
linux: source deactivate或者conda deactivate
windows: deactivate
在這部分中,我們將建立兩個虛擬環境py2-lmj
和py3-lmj
,乙個是python2環境,乙個是python3環境,並展示如何使用這兩個環境。
我們分別在py2-lmj
和py3-lmj
這兩個環境中演示1/2的結果以及輸出字串"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
formore 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
formore information.
>>
> 1/2
0>>
> print(
"hello world!"
)hello world!
>>
> print "hello world!"
hello world!
>>
> quit(
)(py2-lmj)
[vagrant@localhost ~]$ conda deactivate
python爬蟲之利用requests爬取墨跡天氣
import requests from lxml.html import etree import json import time 匯入模組 class mojiweather def city name self 定義乙個輸入城市名稱的函式 cityname str input 輸入城市名稱 ...
python之利用epoll實現http伺服器
usr bin python3.5 coding utf 8 time 18 7 2 下午7 39 author fengwr email fengwenrui1217 163.com file epoll實現http.py 建立epoll物件 epl select.epoll 將tcp sever...
Python資料分析之利用pandas查詢資料
這裡的查詢資料相當於r語言裡的subset功能,可以通過布林索引有針對的選取原資料的子集 指定行 指定列等。我們先導入乙個student資料集 student pd.io.parsers.read csv c users admin desktop student.csv 查詢資料的前5行或末尾5行...