2020-12-27 python安裝包相關命令

VirusX發表於2020-12-28

 

常用命令

命令說明
pip list檢視已安裝的庫
pip list -o

檢視可升級的庫

pip download -d (download path)下載庫的安裝包, 可以結合-i引數來改變源地址,如 pip -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip download -d (download path) -r (requirements.txt)

將requirements.txt裡面寫的包統統下載

pipdeptree -p (package name)檢視(package name)的依賴包
pipdeptree -p (package name) -r檢視哪些包依賴於(package name)
pip install -r requirements.txt --no-index --find-links (local path)根據requirements.txt檔案尋找本地安裝包
pip freeze > F:\requirements.txt匯出已安裝的包列表

例子

1. 刪掉無用的包

有個小朋友提了個問題:可不可以刪掉python裡面沒有用的包,就像清理沒用的東西一樣。我想到要刪掉包要看它現在有沒有被需要,就要用到pipdeptree的檢視命令(例如zipp這個包):

>pipdeptree -p zipp -r
zipp==1.2.0
  - importlib-metadata==2.0.0 [requires: zipp>=0.5]
    - virtualenv==20.1.0 [requires: importlib-metadata>=0.12,<3]
  - importlib-resources==3.3.0 [requires: zipp>=0.4]
    - virtualenv==20.1.0 [requires: importlib-resources>=1.0]

看起來還有東西要依賴它,所以不能直接刪掉,除非上面列出來的包都不用了。

2. 下載離線包到無法連線的電腦上去安裝

有個小朋友提了個問題:有些電腦(例如公司電腦)沒辦法上網,但是能接收外部郵件,那可不可以在家下載好安裝包然後發到公司安裝?答案是肯定的,但是因為很有可能想要安裝的包有很多相應的依賴,經常因為依賴沒有而不得不再去找依賴包傳到公司,這樣太費事了,所以我們要利用pipdeptree匯出依賴關係,然後編輯依賴關係批量下載相關安裝包。

>pipdeptree -p virtualenv > F:\requirements.txt 

接著編輯requirements.txt然後執行命令(因為上面匯出來的檔案不是標準的requirements.txt,記得要把安裝順序調整好):

>pip download -d F:\pythonpkgs -r F:\requirements.txt

然後把requirements.txt檔案和相關的包檔案傳送到公司裡面,在公司的電腦裡面執行:

>pip install -r requirements.txt --no-index --find-links=F:\pypkgs

就可以順利完成了。

相關文章