1. 程式人生 > 其它 >配置conda源_內網使用者福音 | 手把手教你搭建Anaconda映象源

配置conda源_內網使用者福音 | 手把手教你搭建Anaconda映象源

技術標籤:配置conda源

編者語:通常我們使用anaconda進行pkgs的安裝時,使用anaconda官方映象通常較慢,一般來說在國內使用清華大學的映象或者其他開源映象速度會有比較大的提升。但在部分內網環境下,無法訪問網際網路資源,安裝pkgs就顯得非常麻煩,一般也有比較成熟的解決方案,大都過於麻煩,因此本文試圖通過搭建二級映象解決內網環境下python各種pkgs的安裝。

常規內網安裝解決方案

1.在一臺能夠訪問網際網路資源且具有與安裝目標位置相同配置的環境下將所有需要安裝的pkgs下載到本地,之後copy到安裝目標位置並離線安裝。2.通過一臺能夠訪問網際網路資源的伺服器或PC轉發安裝目標位置的網際網路請求,編者僅測試成功pip安裝(pip可以使用http請求),由於網上的anaconda映象大都是https請求,轉發該類請求相對比較麻煩,我尚未測試成功,後續可以繼續測試。

搭建二級映象

1.搭建二級映象必須將所有的anaconda官網pkgs全部下載到本地,幸好我們通過搜尋引擎找到了清華大學已經寫好的程式碼[1]。使用指令碼下載的會和清華大學的anaconda映象一樣,其中的pkgs相對較多,如果不需要的話我們則不必下載,對檔案進行修改或直接註釋。另外這個指令碼下載源是anaconda官網,如果網路不好同樣下載會比較慢。2.清華大學的下載指令碼,將下載源更改為清華大學開源映象。由於清華大學開源映象未在網頁中提供md5,所以對程式碼進行修改,取消md5檢查(md5_check全部返回True)。詳見修改後清華源下載程式碼[2]

指令碼使用:

python anaconda.py --working-dir=/your/download/path#路徑使用示例./ 腳本當前所在目錄../ 指令碼所在上級目錄其他請指定絕對路徑!

搭建http服務

如果是在linux環境下可以非常方便的建立http檔案伺服器,使用apache即可,網上也有很多的教程,只需要安裝並建立一個軟連結,是下載的working-dir連線到apache的/var/www/html資料夾即可。

# 羅列簡要過程程式碼sudo apt install apache2 yum install httpd httpd-devel httpd-manual httpd-tools # 啟動或開機啟動systemctl enable httpd.servicesystemctl start httpd.service# 預設站點根目錄位置/var/www/htmlln -s /your/download/path/working-dir /var/www/html/anaconda# 上述程式碼網路有大量教程,這裡只是羅列重要過程的

編者在windows下進行搭建,使用nginx,當然linux下也可以用nginx

Nginx下載

去官網[3]下載最新版本。

修改配置檔案

1.將下載Nginx壓縮包解壓到資料夾

2.修改nginx/conf/nginx.conf 3.增加如下程式碼:

# 注意server段增加在http段下。server {    listen 10086;    server_name anaconda_mirrors;    charset utf-8;    root L:/anaconda/; # 此處對應下載指令碼中的working-dir    location / {        autuindex on; # 索引        autuindex_exact_size on; # 檔案大小        autoindex_localtime on; # 檔案時間    }}

執行nginx

start nginx.exe

至此我們就可以使用服務了,開啟網址127.0.0.1:10086[4]就可以看到我們搭建的檔案伺服器了。

127.0.0.1或者localhost在搭建映象本地使用的網址,如果在其他位置使用直接替換為映象伺服器ip即可,以下配置也是一樣的道理。

windows服務

通常我們執行nginx後,遇到伺服器重啟,nginx並不會自動重啟,因此將其註冊為windows服務即可。參考nginx註冊windows服務[5]

配置anaconda

修改.conda.rc

和清華大學開源映象的幫助指南一樣,在.conda.rc中增加以下內容:

http://127.0.0.1:10086/cloud/conda-forge/win-64http://127.0.0.1:10086/cloud/conda-forge/noarchhttp://127.0.0.1:10086/pkgs/free/win-64http://127.0.0.1:10086/pkgs/free/noarchhttp://127.0.0.1:10086/pkgs/main/win-64http://127.0.0.1:10086/pkgs/main/noarch

命令列新增

conda config --add channels http://127.0.0.1:10086/cloud/conda-forge/win-64conda config --add channels http://127.0.0.1:10086/cloud/conda-forge/noarchconda config --add channels http://127.0.0.1:10086/pkgs/free/win-64conda config --add channels http://127.0.0.1:10086/pkgs/free/noarchconda config --add channels http://127.0.0.1:10086/pkgs/main/win-64conda config --add channels http://127.0.0.1:10086/pkgs/main/noarch

對於Linux下apache搭建的http服務則需要修改URL。

當在其他PC訪問時,將127.0.0.1修改為http伺服器所在IP即可。

結語

至此就可以使用自己的二級映象了,我們來嘗試一下吧。注意:如果要下載太多庫,需要儲存超過2T。

conda update --all

參考連結

[1]程式碼:https://github.com/tuna/tunasync-scripts/blob/master/anaconda.py[2]清華源下載程式碼:https://gist.github.com/lovechang1986/ba5760da06f815ed56a474b29b052381[3]官網:http://nginx.org/en/download.html[4]127.0.0.1:10086:[5]nginx註冊windows服務:https://blog.csdn.net/qq_36949713/article/details/83108149

d965d1c10a2c783262d6696954a22b86.gif

“最新”AI氣象應用論文和原始碼合集

Pandas資料處理——玩轉時間序列資料

推薦|Python氣象資料處理和繪圖系列教程