考慮到遷移性革答,建議使用容器性技術(shù)或者虛擬技術(shù)如docker或者vmware等。
本教程使用vmware方式建立虛擬機(jī),提供本地鏡像源服務(wù)
pip源鏡像
pip自帶一個(gè)pypi-server以及download命令残拐,因此鏡像起來也不麻煩
一般來說途茫,最好你有一個(gè)需要鏡像到本地的python包的清單,但是如果沒有的話蹦骑,也可以找一個(gè)鏡像源站爬一個(gè)下來慈省。
如去某云的pypi路徑下面可以看到simple和package子目錄臀防,進(jìn)入simple子目錄可以看到有很多的python包眠菇,保存該網(wǎng)頁,然后寫腳本過濾袱衷,參考python腳本如下捎废。
import re
indexfile = open("./Simple Index.htm")
outputfile = open("./indexes.output", "w")
indexes = indexfile.read()
result = re.findall(r'>([^<>\n]+)<', indexes)
for ele in result:
outputfile.write(ele+'\n')
indexfile.close()
outputfile.close()
然后就可以得到一個(gè)并不一定完全clean的python包列表,因?yàn)殓R像源網(wǎng)站的維護(hù)人員可能在里面做了一些奇怪的事情致燥,所以這些奇怪的東西登疗,你需要在后面的步驟中發(fā)現(xiàn),然后刪除掉嫌蚤。
接下來辐益,有了這個(gè)包的列表。我們可以建一個(gè)文件夾然后用pip把這些包全部都下載下來脱吱。
mkdir pip-mirror
cd pip-mirror
pip download -r ${PACKAGE_LIST}
${PACKAGE_LIST}是剛剛爬出來的清單列表智政。
接下來,下載完成之后箱蝠,可以用pypi-server來開啟一個(gè)pip源的服務(wù)器
nohup pypi-server -p 8080 ${MIRROR_ROOT} &
${MIRROR_ROOT}是剛才下載python包的位置续捂,即pip-mirror
然后就可以用瀏覽器以及pip訪問了。
客戶端pip訪問需要修改如下
mkdir ~/.pip
touch ~/.pip/pip.conf
在pip.conf中修改pip源為剛才配置的源所在服務(wù)器即可宦搬。