日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在實(shí)際中,更為流行的是用Conda來(lái)管理Python環(huán)境。今天這篇文章就為大家介紹這方面的相關(guān)內(nèi)容。

Conda環(huán)境

Conda簡(jiǎn)介

Conda是目前為止,最流行的Python軟件包與管理環(huán)境。Conda分為 miniconda 與 anaconda兩種。前者從名字上就能猜出是精簡(jiǎn)版,后者預(yù)裝了很多常用的功能,但比較臃腫。實(shí)際工程中,一般都使用 miniconda,按需安裝軟件包,本文的下面篇幅也以 miniconda 為例進(jìn)行說(shuō)明。

Conda安裝

首先利用wget下載安裝腳本文件:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-linux-x86_64.sh

如果速度較慢,可以換用axel或aria2c下載

利用chmod命令修改sh文件為可執(zhí)行文件,然后運(yùn)行安裝腳本:

chmod 755 Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh

在出現(xiàn)的提示界面中,根據(jù)提示選擇yes或no。一般來(lái)說(shuō),我們保持默認(rèn)即可,但需要留意下最后一步會(huì)自動(dòng)在.bashrc文件添加conda的PATH路徑。如果conda的環(huán)境存在與你日常使用的程序有沖突的命令,就有可能會(huì)出現(xiàn)問(wèn)題。

當(dāng)然,還有一種方式是在添加PATH路徑時(shí)選擇no,然后在每次需要conda的時(shí)候手動(dòng)找到conda下的active命令激活下。這種方式比較靈活,如果不嫌麻煩建議使用這種方式。

注意不要把激活conda與激活虛擬環(huán)境搞混。

Conda常用命令

在conda環(huán)境中,常用的命令格式為:

conda [命令 [參數(shù)]] 

包管理

與python -m pip list類似,conda可以列出當(dāng)前環(huán)境下的所有包:

conda list

版本與升級(jí)

conda有一套特別的機(jī)制,用于管理和維護(hù)依賴庫(kù)之間的關(guān)系。在不同版本的conda中,我們可以直接使用的Python與依賴庫(kù)的版本都不同,為了確定當(dāng)前使用的conda版本,可以運(yùn)行以下命令:

conda --version

有時(shí),我們想用的某個(gè)庫(kù)在conda中有問(wèn)題,或者默認(rèn)模塊安裝的版本比較舊,可以先嘗試升級(jí)解決:

conda update conda

環(huán)境管理

conda環(huán)境中的虛擬環(huán)境比起原生Python更為強(qiáng)大,可以指定Python的版本,并自動(dòng)安裝相關(guān)的C++依賴庫(kù)(windows下自動(dòng)下載相關(guān)的c++ runtime)。

  • 建立

建立虛擬環(huán)境命令:

conda create -n env_demo 

如果要指定python版本,同時(shí)指定虛擬環(huán)境生成的路徑,可以這樣:

conda create python=3.6 -p /tmp/test

這樣,Conda就為你生成了一個(gè)在/tmp/下叫test的虛擬環(huán)境,并且環(huán)境里的python版本是3.6。

conda create默認(rèn)并不會(huì)把基礎(chǔ)環(huán)境的依賴復(fù)制給新建的虛擬環(huán)境。如果要實(shí)現(xiàn)類似的依賴復(fù)制,需要加參數(shù)--clone,例如conda create -n test3 --clone base

我們也看一下這個(gè)路徑下的內(nèi)容:

ls /tmp/test
bin conda-meta include lib share ssl

在bin目錄中,就存在python等常用的可執(zhí)行命令:

2to3 idle3 pydoc3 python3.6-config pyvenv-3.6 wish8.5
2to3-3.6 idle3.6 pydoc3.6 python3.6m sqlite3 xz
c_rehash openssl python python3.6m-config tclsh8.5
easy_install pip python3 python3-config unxz
easy_install-3.6 pydoc python3.6 pyvenv wheel

因?yàn)檫@里是虛擬環(huán)境的bin目錄,所以沒(méi)有conda、activate等命令。這些命令都在當(dāng)前conda默認(rèn)的bin目錄中。

  • 激活

激活一個(gè)虛擬環(huán)境,就需要用bin下的activate:

conda activate /tmp/test

其中,/tmp/test是虛擬環(huán)境的路徑,可以從conda list中查看。

激活后,可以用which python確認(rèn)是否成功。如果成功,當(dāng)前python應(yīng)該指向的是/tmp/test/bin/python

  • 安裝依賴

激活一個(gè)Conda的虛擬環(huán)境后,安裝依賴主要用以下命令:

conda install xxx

這條命令主要從默認(rèn)的頻道中去尋找xxx軟件包。比如,我們可以用conda install pandas來(lái)安裝pandas軟件包。要注意,Conda里有頻道的概念,類似電視機(jī)買(mǎi)回來(lái)一般都有個(gè)默認(rèn)頻道一樣,默認(rèn)的Conda有一個(gè)defaults的頻道。如果我們需要更多的下載源,就需要和加入U(xiǎn)buntu軟件源類似,加入Conda頻道:

conda config --add channels conda-forge

如果大家還記得上次文章,里面給大家介紹了Python的pip安裝時(shí)怎么配置鏡像地址來(lái)加速國(guó)內(nèi)下載速度。同樣的操作在Conda里面,則是通過(guò)配置頻道來(lái)實(shí)現(xiàn)。比如,我們添加清華的Conda鏡像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

配置完成后,可以通過(guò)下面命令來(lái)確認(rèn)是否配置成功:

conda config --show

當(dāng)然,更直接的是直接下載一個(gè)依賴庫(kù),看實(shí)際下載速度怎么樣。另外,也可以在conda install的同時(shí),顯式的指定頻道:

conda install --prefix=/tmp/miniconda3/pyenv/py36 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ pytorch torchvision cuda91 -c pytorch

Conda不僅僅可以用conda install安裝軟件,同時(shí)也可以繼續(xù)用pip,就和普通Python環(huán)境下操作沒(méi)太有什么區(qū)別:

python -m pip install xxx

并不是所有的軟件都可以用pip安裝。最佳實(shí)踐是只在conda找不到包時(shí),才用pip安裝。不要使用user參數(shù),避免權(quán)限問(wèn)題。

  • 退出

直接運(yùn)行conda deactivate,然后可以通過(guò)which python來(lái)確認(rèn)。

Conda環(huán)境導(dǎo)出與恢復(fù)

Conda支持直接導(dǎo)出環(huán)境,命令如下:

conda env export > env.yml

這里,推薦在熟悉的情況下,去掉二級(jí)依賴庫(kù)(依賴的依賴)。一方面減少文件內(nèi)容,第二有可能二級(jí)依賴在后面會(huì)被取消。

環(huán)境恢復(fù)使用命令:

conda env create -n revtest -f=/tmp/env.yml

這里比較關(guān)鍵是導(dǎo)出的yaml文件,通過(guò)編譯器查看可知,其是一個(gè)標(biāo)準(zhǔn)的yaml文件。里面主要包括:

name: 環(huán)境名字
channels:
 - 頻道urls
 ……
dependencies:
 - 軟件名=版本號(hào)=編譯環(huán)境
prefix:環(huán)境路徑
  • Conda環(huán)境包含pip依賴

私信小編01 領(lǐng)取完整項(xiàng)目!上面的環(huán)境依賴都是conda自己就可以安裝,如果所需要的依賴正好沒(méi)有conda資源怎么辦?其實(shí),conda早就可以直接在環(huán)境里使用pip依賴:

name: hyperparam_example
channels:
 - defaults
dependencies:
 - python=3.6
 - numpy=1.14.3
 - pandas=0.22.0
 - scikit-learn=0.19.1
 - matplotlib=2.2.2
 - tensorflow-mkl==1.13.1
 - keras==2.2.2
 - pip:
 - mlflow>=1.0
 - Gpy==1.9.2
 - GpyOpt==1.2.5
 - pyDOE==0.3.8
 - hyperopt==0.1

這個(gè)環(huán)境文件參考自mlflow項(xiàng)目(https://github.com/mlflow/mlflow/blob/master/examples/hyperparam/conda.yaml),從這里我們就可以看到兩點(diǎn):

  • 利用conda就可以同時(shí)管理好conda和pip依賴
  • conda 的環(huán)境管理,已經(jīng)成為一種標(biāo)準(zhǔn),被mlflow這樣的項(xiàng)目所使用。

那么最后一個(gè)問(wèn)題,conda和pip到底有什么不同?

  • conda還負(fù)責(zé)依賴檢查和維護(hù)。Conda不僅僅安裝Python庫(kù)這么簡(jiǎn)單,他還能把Python庫(kù)需要的外部依賴也同時(shí)安裝進(jìn)來(lái),并且維護(hù)每個(gè)軟件庫(kù)對(duì)應(yīng)的各種依賴版本關(guān)系,每次conda安裝都要進(jìn)行比較復(fù)雜的處理來(lái)維護(hù)好依賴關(guān)系。
  • conda這個(gè)包管理命令不僅僅可以用在Python上,還可以用來(lái)管理R等其他語(yǔ)言。
  • 不能提供egg或whl時(shí),pip只能從源代碼編譯。而conda install一直都是安裝編譯好的二進(jìn)制。
  • conda默認(rèn)就支持虛擬環(huán)境;而pip是靠virtualenv或venv來(lái)支持
  • conda是Python的外部工具
  • conda的托管網(wǎng)站是Anaconda,而pip的托管網(wǎng)站是PyPI(https://pypi.org/)

分享到:
標(biāo)簽:conda
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定