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

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

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在實際中,更為流行的是用Conda來管理Python環境。今天這篇文章就為大家介紹這方面的相關內容。

Conda環境

Conda簡介

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

Conda安裝

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

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

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

利用chmod命令修改sh文件為可執行文件,然后運行安裝腳本:

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

在出現的提示界面中,根據提示選擇yes或no。一般來說,我們保持默認即可,但需要留意下最后一步會自動在.bashrc文件添加conda的PATH路徑。如果conda的環境存在與你日常使用的程序有沖突的命令,就有可能會出現問題。

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

注意不要把激活conda與激活虛擬環境搞混。

Conda常用命令

在conda環境中,常用的命令格式為:

conda [命令 [參數]] 

包管理

與python -m pip list類似,conda可以列出當前環境下的所有包:

conda list

版本與升級

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

conda --version

有時,我們想用的某個庫在conda中有問題,或者默認模塊安裝的版本比較舊,可以先嘗試升級解決:

conda update conda

環境管理

conda環境中的虛擬環境比起原生Python更為強大,可以指定Python的版本,并自動安裝相關的C++依賴庫(windows下自動下載相關的c++ runtime)。

  • 建立

建立虛擬環境命令:

conda create -n env_demo 

如果要指定python版本,同時指定虛擬環境生成的路徑,可以這樣:

conda create python=3.6 -p /tmp/test

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

conda create默認并不會把基礎環境的依賴復制給新建的虛擬環境。如果要實現類似的依賴復制,需要加參數--clone,例如conda create -n test3 --clone base

我們也看一下這個路徑下的內容:

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

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

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

因為這里是虛擬環境的bin目錄,所以沒有conda、activate等命令。這些命令都在當前conda默認的bin目錄中。

  • 激活

激活一個虛擬環境,就需要用bin下的activate:

conda activate /tmp/test

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

激活后,可以用which python確認是否成功。如果成功,當前python應該指向的是/tmp/test/bin/python

  • 安裝依賴

激活一個Conda的虛擬環境后,安裝依賴主要用以下命令:

conda install xxx

這條命令主要從默認的頻道中去尋找xxx軟件包。比如,我們可以用conda install pandas來安裝pandas軟件包。要注意,Conda里有頻道的概念,類似電視機買回來一般都有個默認頻道一樣,默認的Conda有一個defaults的頻道。如果我們需要更多的下載源,就需要和加入Ubuntu軟件源類似,加入Conda頻道:

conda config --add channels conda-forge

如果大家還記得上次文章,里面給大家介紹了Python的pip安裝時怎么配置鏡像地址來加速國內下載速度。同樣的操作在Conda里面,則是通過配置頻道來實現。比如,我們添加清華的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/

配置完成后,可以通過下面命令來確認是否配置成功:

conda config --show

當然,更直接的是直接下載一個依賴庫,看實際下載速度怎么樣。另外,也可以在conda install的同時,顯式的指定頻道:

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安裝軟件,同時也可以繼續用pip,就和普通Python環境下操作沒太有什么區別:

python -m pip install xxx

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

  • 退出

直接運行conda deactivate,然后可以通過which python來確認。

Conda環境導出與恢復

Conda支持直接導出環境,命令如下:

conda env export > env.yml

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

環境恢復使用命令:

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

這里比較關鍵是導出的yaml文件,通過編譯器查看可知,其是一個標準的yaml文件。里面主要包括:

name: 環境名字
channels:
 - 頻道urls
 ……
dependencies:
 - 軟件名=版本號=編譯環境
prefix:環境路徑
  • Conda環境包含pip依賴

私信小編01 領取完整項目!上面的環境依賴都是conda自己就可以安裝,如果所需要的依賴正好沒有conda資源怎么辦?其實,conda早就可以直接在環境里使用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

這個環境文件參考自mlflow項目(https://github.com/mlflow/mlflow/blob/master/examples/hyperparam/conda.yaml),從這里我們就可以看到兩點:

  • 利用conda就可以同時管理好conda和pip依賴
  • conda 的環境管理,已經成為一種標準,被mlflow這樣的項目所使用。

那么最后一個問題,conda和pip到底有什么不同?

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

分享到:
標簽:conda
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定