python - 環(huán)境 - python用conda創(chuàng)建虛擬環(huán)境

python創(chuàng)建虛擬環(huán)境

python創(chuàng)建虛擬環(huán)境的目的

創(chuàng)建虛擬環(huán)境是為了讓項(xiàng)目運(yùn)行在一個(gè)獨(dú)立的局部的Python環(huán)境中绘搞,這樣可以讓不同項(xiàng)目用不同的python模塊,使得不同環(huán)境不會(huì)相互干擾蛇尚。

因?yàn)樘摂M環(huán)境可以使一個(gè)Python程序擁有獨(dú)立的庫library解釋器interpreter,而不用與其他Python程序共享統(tǒng)一個(gè)library和interpreter。

打個(gè)比方:如果程序A净当、程序B是用同一個(gè)python環(huán)境,程序A需要某個(gè)庫的1.0版本蕴潦,而程序B需要同樣這個(gè)庫的2.0版本像啼,那么程序A能執(zhí)行,則程序B就不能執(zhí)行潭苞。

conda創(chuàng)建虛擬環(huán)境方法

1忽冻、查看已有虛擬環(huán)境

先進(jìn)入命令行窗口win+R,輸入cmd

image-20200726212113321

羅列當(dāng)前已有的虛擬環(huán)境conda env list

C:\Users\Administrator>conda env list
# conda environments:
#
base                  *  D:\r\Anaconda3
professior               D:\r\Anaconda3\envs\professior
pycharm book             D:\r\Anaconda3\envs\pycharm book

我這臺(tái)電腦有3個(gè)環(huán)境此疹,分別是 base僧诚、professior遮婶、pycharm book

其中 base可以看到有個(gè)*,代表的是它為最根本的環(huán)境湖笨。

2旗扑、創(chuàng)建環(huán)境

查看conda create命令

C:\Users\Administrator>conda create --help
usage: conda-script.py create [-h] [--clone ENV] [-n ENVIRONMENT | -p PATH]
                              [-c CHANNEL] [--use-local] [--override-channels]
                              [--repodata-fn REPODATA_FNS]
                              [--strict-channel-priority]
                              [--no-channel-priority]
                              [--no-deps | --only-deps] [--no-pin] [--copy]
                              [--no-shortcuts] [-C] [-k] [--offline] [-d]
                              [--json] [-q] [-v] [-y] [--download-only]
                              [--show-channel-urls] [--file FILE]
                              [--no-default-packages] [--dev]
                              [package_spec [package_spec ...]]

Create a new conda environment from a list of specified packages. To use the created environment, use 'source activate envname' look in that directory first.  This command requires either the -n NAME or -p PREFIX option.
...

從上圖可以看到

Create a new conda environment from a list of specified packages. To use the created environment, use 'source activate envname' look in that directory first.  This command requires either the -n NAME or -p PREFIX option.

翻譯:

從指定的包列表中創(chuàng)建一個(gè)新的conda環(huán)境。要使用創(chuàng)建的環(huán)境慈省,使用'source activate envname'首先在該目錄中查找臀防。這個(gè)命令需要-n名稱或-p前綴選項(xiàng)。

創(chuàng)建名為frog_test的虛擬環(huán)境边败,指定python版本3.7袱衷。

conda create -n frog_test python=3.7

C:\Users\Administrator>conda create -n frog_test python=3.7
    
    
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.7.12
  latest version: 4.8.3

Please update conda by running

    $ conda update -n base -c defaults conda



## Package Plan ##

  environment location: D:\r\Anaconda3\envs\frog_test

  added / updated specs:
    - python=3.7


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2020.6.24  |                0         125 KB  defaults
    certifi-2020.6.20          |           py37_0         156 KB  defaults
    openssl-1.1.1g             |       he774522_0         4.8 MB  defaults
    pip-20.1.1                 |           py37_1         1.7 MB  defaults
    python-3.7.7               |       h81c818b_4        14.3 MB  defaults
    setuptools-49.2.0          |           py37_0         760 KB  defaults
    sqlite-3.32.3              |       h2a8f88b_0         802 KB  defaults
    vs2015_runtime-14.16.27012 |       hf0eaf9b_3         1.2 MB  defaults
    wheel-0.34.2               |           py37_0          66 KB  defaults
    zlib-1.2.11                |       h62dcd97_4         113 KB  defaults
    ------------------------------------------------------------
                                           Total:        24.0 MB

The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/win-64::ca-certificates-2020.6.24-0
  certifi            pkgs/main/win-64::certifi-2020.6.20-py37_0
  openssl            pkgs/main/win-64::openssl-1.1.1g-he774522_0
  pip                pkgs/main/win-64::pip-20.1.1-py37_1
  python             pkgs/main/win-64::python-3.7.7-h81c818b_4
  setuptools         pkgs/main/win-64::setuptools-49.2.0-py37_0
  sqlite             pkgs/main/win-64::sqlite-3.32.3-h2a8f88b_0
  vc                 pkgs/main/win-64::vc-14.1-h0510ff6_4
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.16.27012-hf0eaf9b_3
  wheel              pkgs/main/win-64::wheel-0.34.2-py37_0
  wincertstore       pkgs/main/win-64::wincertstore-0.2-py37_0
  zlib               pkgs/main/win-64::zlib-1.2.11-h62dcd97_4


Proceed ([y]/n)? y

Downloading and Extracting Packages
vs2015_runtime-14.16 | 1.2 MB    | ############################################################################ | 100%
python-3.7.7         | 14.3 MB   | ############################################################################ | 100%
setuptools-49.2.0    | 760 KB    | ############################################################################ | 100%
sqlite-3.32.3        | 802 KB    | ############################################################################ | 100%
certifi-2020.6.20    | 156 KB    | ############################################################################ | 100%
openssl-1.1.1g       | 4.8 MB    | ############################################################################ | 100%
wheel-0.34.2         | 66 KB     | ############################################################################ | 100%
ca-certificates-2020 | 125 KB    | ############################################################################ | 100%
zlib-1.2.11          | 113 KB    | ############################################################################ | 100%
pip-20.1.1           | 1.7 MB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate frog_test        
#
# To deactivate an active environment, use
#
#     $ conda deactivate

關(guān)注最末尾這幾句話:

# To activate this environment, use
#
#     $ conda activate frog_test        
#
# To deactivate an active environment, use
#
#     $ conda deactivate

這兩句告訴我們:
conda activate frog_test    # 進(jìn)入創(chuàng)建的虛擬環(huán)境
conda deactivate            # 退出虛擬環(huán)境

查看是否創(chuàng)建成功

C:\Users\Administrator>conda env list
# conda environments:
#
base                  *  D:\r\Anaconda3
frog_test                D:\r\Anaconda3\envs\frog_test      # 創(chuàng)建成功
professior               D:\r\Anaconda3\envs\professior
pycharm book             D:\r\Anaconda3\envs\pycharm book

3、進(jìn)入環(huán)境

C:\Users\Administrator>conda activate frog_test

(frog_test) C:\Users\Administrator>

看到(frog_test)則代表進(jìn)入成功

4放闺、退出環(huán)境

(frog_test) C:\Users\Administrator>conda deactivate

C:\Users\Administrator>

5祟昭、相關(guān)模塊包

# 指定環(huán)境,查看已安裝的包
conda list -n frog_test

以安裝Pandas為例
# 指定環(huán)境怖侦,安裝指定版本的包
conda install -n frog_test pandas==1.0.4

# 指定環(huán)境篡悟,更新包
conda update -n frog_test pandas

# 指定環(huán)境,刪除包
conda remove -n frog_test pandas

指定環(huán)境匾寝,查看已安裝的包conda list -n frog_test

C:\Users\Administrator>conda list -n frog_test
# packages in environment at D:\r\Anaconda3\envs\frog_test:
#
# Name                    Version                   Build  Channel
ca-certificates           2020.6.24                     0    defaults
certifi                   2020.6.20                py37_0    defaults
openssl                   1.1.1g               he774522_0    defaults
pip                       20.1.1                   py37_1    defaults
python                    3.7.7                h81c818b_4    defaults
setuptools                49.2.0                   py37_0    defaults
sqlite                    3.32.3               h2a8f88b_0    defaults
vc                        14.1                 h0510ff6_4    defaults
vs2015_runtime            14.16.27012          hf0eaf9b_3    defaults
wheel                     0.34.2                   py37_0    defaults
wincertstore              0.2                      py37_0    defaults
zlib                      1.2.11               h62dcd97_4    defaults

指定環(huán)境搬葬,安裝指定版本的包conda install -n frog_test pandas==1.0.4

C:\Users\Administrator>conda install -n frog_test pandas==1.0.4

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.7.12
  latest version: 4.8.3

Please update conda by running

    $ conda update -n base -c defaults conda



## Package Plan ##

  environment location: D:\r\Anaconda3\envs\frog_test

  added / updated specs:
    - pandas==1.0.4


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    blas-1.0                   |              mkl           6 KB  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    intel-openmp-2020.1        |              216         1.6 MB  defaults
    mkl-2020.1                 |              216        99.3 MB  defaults
    mkl_fft-1.1.0              |   py37h45dec08_0         116 KB  defaults
    mkl_random-1.1.1           |   py37h47e9c7a_0         233 KB  defaults
    numpy-1.18.5               |   py37h6530119_0           5 KB  defaults
    numpy-base-1.18.5          |   py37hc3f5095_0         3.8 MB  defaults
    pandas-1.0.4               |   py37h47e9c7a_0         7.5 MB  defaults
    python-dateutil-2.8.1      |             py_0         215 KB  defaults
    pytz-2020.1                |             py_0         184 KB  defaults
    six-1.15.0                 |             py_0          13 KB  defaults
    ------------------------------------------------------------
                                           Total:       112.9 MB

The following NEW packages will be INSTALLED:

  blas               anaconda/pkgs/free/win-64::blas-1.0-mkl
  icc_rt             pkgs/main/win-64::icc_rt-2019.0.0-h0cc432a_1
  intel-openmp       pkgs/main/win-64::intel-openmp-2020.1-216
  mkl                pkgs/main/win-64::mkl-2020.1-216
  mkl-service        pkgs/main/win-64::mkl-service-2.3.0-py37hb782905_0
  mkl_fft            pkgs/main/win-64::mkl_fft-1.1.0-py37h45dec08_0
  mkl_random         pkgs/main/win-64::mkl_random-1.1.1-py37h47e9c7a_0
  numpy              pkgs/main/win-64::numpy-1.18.5-py37h6530119_0
  numpy-base         pkgs/main/win-64::numpy-base-1.18.5-py37hc3f5095_0
  pandas             pkgs/main/win-64::pandas-1.0.4-py37h47e9c7a_0
  python-dateutil    pkgs/main/noarch::python-dateutil-2.8.1-py_0
  pytz               pkgs/main/noarch::pytz-2020.1-py_0
  six                pkgs/main/noarch::six-1.15.0-py_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
pytz-2020.1          | 184 KB    | ############################################################################ | 100%
python-dateutil-2.8. | 215 KB    | ############################################################################ | 100%
pandas-1.0.4         | 7.5 MB    | ############################################################################ | 100%
mkl-2020.1           | 99.3 MB   | ############5                                                                |  16%

安裝慢的話可以用鏡像源,進(jìn)入虛擬環(huán)境后用

pip install 模塊名 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

# 進(jìn)入虛擬環(huán)境
C:\Users\Administrator>conda activate frog_test

# 查看模塊包
(frog_test) C:\Users\Administrator>pip list
Package           Version
----------------- -------------------
astroid           2.3.3
certifi           2020.6.20
colorama          0.4.3
isort             4.3.21
lazy-object-proxy 1.4.3
mccabe            0.6.1
pip               20.1.1
pylint            2.4.4
setuptools        49.2.0.post20200714
six               1.14.0
typed-ast         1.4.1
wheel             0.34.2
wincertstore      0.2
wrapt             1.11.2

# 安裝模塊包
(frog_test) C:\Users\Administrator>pip install pandas==1.0.4 -i  http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Collecting pandas==1.0.4
  Downloading http://mirrors.aliyun.com/pypi/packages/1d/eb/b4f68f54ad287d583c9c3b3c77f865615f832f092810f20d2b44498cd06c/pandas-1.0.4-cp37-cp37m-win_amd64.whl (8.7 MB)
     |████████████████████████████████| 8.7 MB 3.3 MB/s
Collecting python-dateutil>=2.6.1
  Downloading http://mirrors.aliyun.com/pypi/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
     |████████████████████████████████| 227 kB 6.4 MB/s
Collecting pytz>=2017.2
  Downloading http://mirrors.aliyun.com/pypi/packages/4f/a4/879454d49688e2fad93e59d7d4efda580b783c745fd2ec2a3adf87b0808d/pytz-2020.1-py2.py3-none-any.whl (510 kB)
     |████████████████████████████████| 510 kB 6.4 MB/s
Collecting numpy>=1.13.3
  Downloading http://mirrors.aliyun.com/pypi/packages/df/cb/7af5de0a4068ce314e13074a4f86afada7fa86a095489bbc80f5dabd4156/numpy-1.19.1-cp37-cp37m-win_amd64.whl (12.9 MB)
     |████████████████████████████████| 12.9 MB 2.2 MB/s
Requirement already satisfied: six>=1.5 in c:\users\administrator\appdata\roaming\python\python37\site-packages (from python-dateutil>=2.6.1->pandas==1.0.4) (1.14.0)
Installing collected packages: python-dateutil, pytz, numpy, pandas
Successfully installed numpy-1.19.1 pandas-1.0.4 python-dateutil-2.8.1 pytz-2020.1
image-20200726222747126

再次查看艳悔,可以發(fā)現(xiàn)已經(jīng)安裝成功急凰。

其余如:更新模塊包、刪除模塊包猜年,全部都可以進(jìn)入虛擬環(huán)境后 pip 進(jìn)行

# 更新模塊包
 pip install --upgrade 要升級(jí)的包名
 
# 刪除模塊包
pip uninstall 模塊包

更新pandas模塊包

更新pandas模塊包pip install --upgrade pandas -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

(frog_test) C:\Users\Administrator>pip install --upgrade pandas -i  http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Collecting pandas
  Downloading http://mirrors.aliyun.com/pypi/packages/da/90/44d5e0a5d42506d2e31544c8f44c54be88c2128f6fc482c01de29ecfb365/pandas-1.0.5-cp37-cp37m-win_amd64.whl (8.7 MB)
     |████████████████████████████████| 8.7 MB 6.4 MB/s
Requirement already satisfied, skipping upgrade: pytz>=2017.2 in d:\r\anaconda3\envs\frog_test\lib\site-packages (from pandas) (2020.1)
Requirement already satisfied, skipping upgrade: numpy>=1.13.3 in d:\r\anaconda3\envs\frog_test\lib\site-packages (from pandas) (1.19.1)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.6.1 in d:\r\anaconda3\envs\frog_test\lib\site-packages (from pandas) (2.8.1)
Requirement already satisfied, skipping upgrade: six>=1.5 in c:\users\administrator\appdata\roaming\python\python37\site-packages (from python-dateutil>=2.6.1->pandas) (1.14.0)
Installing collected packages: pandas
  Attempting uninstall: pandas
    Found existing installation: pandas 1.0.4
    Uninstalling pandas-1.0.4:
      Successfully uninstalled pandas-1.0.4
Successfully installed pandas-1.0.5
image-20200726223533971

之前安裝的1.0.4版本pandas變成1.0.5了抡锈。

刪除pandas模塊包

(frog_test) C:\Users\Administrator>pip uninstall pandas
Found existing installation: pandas 1.0.5
Uninstalling pandas-1.0.5:
  Would remove:
    d:\r\anaconda3\envs\frog_test\lib\site-packages\pandas-1.0.5.dist-info\*
    d:\r\anaconda3\envs\frog_test\lib\site-packages\pandas\*
Proceed (y/n)? y
  Successfully uninstalled pandas-1.0.5

(frog_test) C:\Users\Administrator>pip list
Package           Version
----------------- -------------------
astroid           2.3.3
certifi           2020.6.20
colorama          0.4.3
isort             4.3.21
lazy-object-proxy 1.4.3
mccabe            0.6.1
numpy             1.19.1
pip               20.1.1
pylint            2.4.4
python-dateutil   2.8.1
pytz              2020.1
setuptools        49.2.0.post20200714
six               1.14.0
typed-ast         1.4.1
wheel             0.34.2
wincertstore      0.2
wrapt             1.11.2

刪除成功

=====================================================

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市乔外,隨后出現(xiàn)的幾起案子床三,更是在濱河造成了極大的恐慌,老刑警劉巖杨幼,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撇簿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡差购,警方通過查閱死者的電腦和手機(jī)四瘫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欲逃,“玉大人找蜜,你說我怎么就攤上這事∨玻” “怎么了锹杈?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵撵孤,是天一觀的道長。 經(jīng)常有香客問我竭望,道長邪码,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任咬清,我火速辦了婚禮闭专,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旧烧。我一直安慰自己影钉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布掘剪。 她就那樣靜靜地躺著平委,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夺谁。 梳的紋絲不亂的頭發(fā)上廉赔,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音匾鸥,去河邊找鬼蜡塌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛勿负,可吹牛的內(nèi)容都是我干的馏艾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奴愉,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼琅摩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锭硼,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤迫吐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后账忘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熙宇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年鳖擒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烫止。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒋荚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出馆蠕,到底是詐尸還是另有隱情期升,我是刑警寧澤惊奇,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站播赁,受9級(jí)特大地震影響颂郎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜容为,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一乓序、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坎背,春花似錦替劈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懂更,卻和暖如春眨业,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膜蛔。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工坛猪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人皂股。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓墅茉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呜呐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子就斤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355