搭建Anaconda本地私服
在開發過程中,服務器往往都是無網環境,pip、conda安裝庫命令無法直接使用,一般有三種處理方法。
1、從別的地方拷貝py環境到目標機器,易操作。但是經常要拷貝整個環境,不方便。
2、從pip上下載安裝包,然后本地安裝,對於只有一個依賴包的庫很方便,如果有多個或多級依賴包,就很麻煩,只有安裝完一個才知道下一個需要什么。
3、搭建anaconda本地庫,即本文方法。
一、安裝py環境
py環境自然推薦安裝anaconda,py已經更新到py3.7,對於不習慣的用戶,可以在這里選擇其他版本安裝包,安裝過程比較簡單,就不介紹了。對於訪問這些網站不方便的用戶,可以參考第四部分的清華鏡像網站。
二、搭建Anaconda本地庫
1、在本地或者其他機器新建一個anaconda庫目錄,然后建立anaconda、conda-forge兩個子目錄,在anaconda、conda-forge里面分別再建立linux-64、noarch兩個子目錄。本地機器的話,可以直接安裝;其他機器可以通過httpd服務使用。
2、打開https://conda.anaconda.org/conda-forge/linux-64,點擊下圖的json鏈接,打開以后右鍵另存為repodata.json,將這個文件放在conda-forge/linux-64/目錄下。
3、按照2中的方法依次打開下面三個鏈接:
https://conda.anaconda.org/conda-forge/noarch
https://conda.anaconda.org/anaconda/linux-64/
https://conda.anaconda.org/anaconda/noarch/
將三個repodata.json文件分別放在/conda-forge/noarch、anaconda/linux-64、anaconda/noarch目錄下
4、配置anaconda源,執行下面命令
如果上面配置的庫在本地,添加路徑到配置文件(修改為自己路徑):
conda config --add channels file:///opt/python/anaconda
conda config --add channels file:///opt/python/conda-forge
如果有單獨的httpd服務器,添加路徑到配置文件,切記先配置httpd的目錄:
conda config --add channels http://ip/.../anaconda
conda config --add channels http://ip/.../conda-forge
然后編輯配置文件.condarc,一般在~/.condarc,去掉最后的 - defaults
建議先不要把anaconda目錄添加到配置文件里面,最近發現anaconda的reposdata.json文件有點問題不好用,不過之前下載的是好用的。
三、安裝py包
到這里就可以直接執行conda命令了,比如安裝tensorflow,執行 conda install tensorflow即可,可以在后面指定版本號,例如conda install tensorflow=1.8.0。此時會把所有依賴包都顯示出來,只需要到上面的四個網址下載對應的.bz2文件放到對應的四個目錄即可,也可在第四步中的清華鏡像下載。
如果庫文件在本機,還可以通過下面命令直接安裝:
conda install packagename --override-channels --channel file:///opt/python/conda-forge,或者--channel后面直接跟目錄也是可以的。conda命令使用詳情看這里。
四、清華鏡像
1、清華anaconda安裝包:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2、清華鏡像使用:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
3、清華鏡像bz2包:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
