天天看點

如果高效使用apt-get、pip來下載下傳安裝依賴包、軟體呢?

前言

在Python開發中,需要安裝一下包、依賴庫或軟體等,有時出現網絡、權限和無法安裝等問題困擾着我們,經曆過一段時間的洗禮,悟出了一些要點分享給大家。

一、pip指令

1)指定國内下載下傳源---加速下載下傳

背景

有時使用pip安裝依賴庫或軟體時,看到10KB~30KB的速度下載下傳,真的是恨鐵不成剛,為什麼不能快一些呢;明明電腦下載下傳時都有1M~3M的,感到無奈,一直在等待安裝。

分析

如果排除是電腦本身網絡速度慢問題,那很有可能是安裝依賴庫或軟體是外網的,需要從外網那裡擷取;這樣自然就很慢啦

解決方法

發現問題是需要從外網擷取,那麼如果國内中有,我們從國内中擷取就可以啦;速度會有質的飛躍。

pip install xxxx -i https://pypi.mirrors.ustc.edu.cn/simple           

xxxx 為要安裝的依賴庫或軟體名稱,例如:要安裝numpy,即 pip install numpy -i

https://pypi.mirrors.ustc.edu.cn/simple

-i 是指定下載下傳源 ,其後面是下載下傳源的位址 ,即:阿裡雲

可選的國内源:

(1)阿裡雲

https://mirrors.aliyun.com/pypi/simple/

(2)豆瓣

https://pypi.douban.com/simple/

(3)清華大學

https://pypi.tuna.tsinghua.edu.cn/simple/

(4)中國科學技術大學

https://pypi.mirrors.ustc.edu.cn/simple/

(5)華中科技大學

https://pypi.hustunique.com/

2)指定安裝特定版本的

在安裝一下配套的軟體(依賴庫)時需要考慮版本相容性,否則很可能導緻無法使用

我們首先查清楚依賴的是什麼版本,例如需要安裝opencv3.4,而不是opencv4.2;然後在pip中指定版本來安裝就可以啦

先檢視本機能安裝那些版本的

pip install xxxx==           

挑選合适的版本安裝

pip install xxxx==3.4.3.18           

例如:在python開發環境中安裝opencv 3.4.3.18

pip install opencv-python==                       #檢視opencv-python有那些版本可以安裝
pip install opencv-python==3.4.3.18               #安裝3.4.3.18版本的opencv           

3)指定Python2或Python3安裝

在Ubuntu系統中,預設為我們安裝了兩個Python;一個是Python2.7,另一個是Python3.x  ,這裡溫馨提醒一下不要擅自解除安裝其中一個Python,很可能導緻系統出錯最終重裝系統收場;有時候需要安裝在安裝在Python3中,而不是Python2。

如果有多個版本的Python,那我們在安裝軟體時指定Python的版本來安裝就可以啦

解決方案

 指定Python2.7安裝依賴庫或軟體

python2.7 -m pip install xxxx           

或 python2 -m pip install xxxx

4)pip使用是遇到權限問題

 在Ubuntu中,使用pip安裝一些一些依賴庫時,會報權限問題;這些可能會想到用sudo不久可以了嗎?是的,部分情況下确實可以使用sudo來安裝。但是在不能使用sudo的情況下,如果解決這個權限問題呢?

例如在docker中使用pip安裝,如果使用了sudo會導緻部分資源無權限使用

添加--user

pip install opencv-python==3.4.3.18    --user           

彩蛋----檢視python安裝了哪些庫、子產品

1)pip list  或者  pip freeze all

2)help('modules')

3)如果是windows的系統,參考:

https://www.cnblogs.com/gitwow/p/10706257.html

二、apt-get指令

1)修改國内軟體源

有時使用apt-get安裝依賴庫或軟體時,看到15KB~40KB的速度下載下傳,真的是恨鐵不成剛,為什麼不能快一些呢;明明電腦下載下傳時都有1M~3M的,感到無奈,一直在等待安裝。

具有教程,參考我這篇部落格:

https://guo-pu.blog.csdn.net/article/details/88808210

2)更新apt-get為多線程下載下傳

apt-get預設是單線程下載下傳的,在解決了網絡、軟體源等問題後,把apt-get更新為多線程apt-fast 

在Linux中,預設的apt-get install 有時候會下載下傳非常慢,尤其是添加的一些ppa去下載下傳。發現apt-fast是個好東西,apt-fast 通過使用多線程下載下傳來給apt-get 提速。經過測試效果出奇的好。

apt-fast  shell 封裝器通過多個連接配接同時下載下傳一個包來加速 apt-get/apt 和 aptitude 指令,進而使得自己的工作效率得到提升。

安裝apt-fast

https://guo-pu.blog.csdn.net/article/details/103477431

希望對你有幫助;

如果發現不對的地方,歡迎大家指正。