本文章分享python pip 基本相關指令,如pip show, pip install, pip uninstall, pip freeze,
pip install -r requirements.txt, pip uninstall -r requirements.txt -y 相關的指令
想學習了解的朋友可以參考看看。
內容目錄
pip是什麼?
pip 是 Python 標準庫管理器,也就是一個工具讓你安裝不同的套件來使用。
相信你要安裝某些套件時,都會使用pip,那pip除了安裝套件還有什麼功能呢?
讓我分享給各位,我學到以及會用到的場景分享給各位。
pip –version
只要在終端機輸入 ‘pip –version’ 就能得到你電腦的 pip版本也會知道你對應的python版本是多少
輸入 pip -V 也是能夠取得pip 版本
$ pip --version
pip 21.1.3 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
$ pip -V
pip 21.1.3 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
pip list => 取得所安裝的套件
想了解自己電腦裝了哪些使用pip所安裝的套件嗎?
只需要執行 pip list 就能取得到你安裝的套件有哪些以及對應的版本號
$ pip list
Package Version
airtest 1.2.0
altgraph 0.17
Appium-Python-Client 1.2.0
APScheduler 3.6.3
beautifulsoup4 4.9.3
bs4 0.0.1
pip install => 安裝套件
安裝python套件只需要使用 pip install XXX 就能輕鬆安裝對應的套件
如果沒有對應的名稱套件的話,就會安裝錯誤
下方程式碼使用 beautifulsoup4的套件以及錯誤套件名稱進行安裝示範
$ pip install beautifulsoup4 # 由於已經安裝過了,會顯示已安裝並說明安裝位置
Requirement already satisfied: beautifulsoup4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (4.9.3)
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4) (2.2.1)
$ pip install beautifulsoup123 # 輸入錯誤的名錯會顯示錯誤
ERROR: Could not find a version that satisfies the requirement beautifulsoup123 (from versions: none)
ERROR: No matching distribution found for beautifulsoup123
pip uninstall => 卸載套件
當你不需要這個套件或是覺得太佔空間該怎麼辦呢?
pip uninstall 是你的好幫手,可以幫你卸載你不需要的套件
並且在刪除的時候,會在詢問你一次,確認你是否要刪除此套件
如果真的刪除了,可以再透過 pip install 在安裝回來就行了
$ pip uninstall beautifulsoup4
Found existing installation: beautifulsoup4 4.9.3
Uninstalling beautifulsoup4-4.9.3:
Would remove:
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/beautifulsoup4-4.9.3.dist-info/*
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/bs4/*
Proceed (y/n)? y
Successfully uninstalled beautifulsoup4-4.9.3
pip install XXX==XX > 指定安裝版本 XXX代表套件名稱 XX代表版本號
為何會需要指定版本號呢?
正常來說我們安裝的時候,後面是不會帶上版本號,都會安裝最新的版本
當然的有可能最新版本會有一些衝突問題或是某些套件不相容,因此就有了指定版本安裝的方式
類似下方程式碼,透過上面的範例都知道beautifulsoup4最新的版本是 4.9.3,如果不知道的話,可以透過 pip list 查詢
但如果我想安裝 4.9.1版本 該怎麼做呢?
只需要再 套件後面加上==4.9.1 就能指定定安裝對應的版本
$ pip install beautifulsoup4==4.9.1 # 指定安裝版本為4.9.1
Collecting beautifulsoup4==4.9.1
Downloading beautifulsoup4-4.9.1-py3-none-any.whl (115 kB)
|████████████████████████████████| 115 kB 418 kB/s
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4==4.9.1) (2.2.1)
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.9.1
$ pip list # 查詢後,版本為4.9.1
Package Version
beautifulsoup4 4.9.1
$ pip install beautifulsoup4==4.9.3 # 指定安裝版本為4.9.3
Collecting beautifulsoup4==4.9.3
Using cached beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4==4.9.3) (2.2.1)
Installing collected packages: beautifulsoup4
Attempting uninstall: beautifulsoup4
Found existing installation: beautifulsoup4 4.9.1
Uninstalling beautifulsoup4-4.9.1:
Successfully uninstalled beautifulsoup4-4.9.1
Successfully installed beautifulsoup4-4.9.3
$ pip list # 再次查詢版本為 4.9.3
Package Version
beautifulsoup4 4.9.3
pip freeze => 列出安裝的套件
pip list 不就能列出所有安裝過的套件嗎?那為何還有pip freeze呢?
主要是pip list列出的是有一些自帶的套件,例如pip,setuptools等等,是沒有辦法進行卸載的動作
就類似手機有些APP是沒辦法進行卸載的動作
因此我們能透過pip freeze指令來取得所安裝的套件
$ pip freeze
airtest==1.2.0
altgraph==0.17
Appium-Python-Client==1.2.0
APScheduler==3.6.3
beautifulsoup4==4.9.3
bs4==0.0.1
pip freeze > requirements.txt => 安裝的套件寫到txt
為何需要把本地所安裝的套件名稱以及版本號寫入到 requirements.txt呢?
當你換了電腦或是使用虛擬主機來進行跑Python相關的程式碼時,都是使用你電腦來跑的話
那就等於有一個與你環境相同的Python套件,只需要負責安裝就能輕鬆搞定對應的套件以及版本問題。
有時候,會因為某些套件或是版本問題,一個一個去找,不如直接寫入到txt,再透過安裝的方式,就能快速複製同一個Python套件環境,省時又省力。
$ pip freeze > requirements.txt # 把電腦的Python套件 寫入到 requirements.txt
$ cat requirements.txt # 查看 requirements.txts 內容
airtest==1.2.0
altgraph==0.17
Appium-Python-Client==1.2.0
APScheduler==3.6.3
beautifulsoup4==4.9.3
bs4==0.0.1
pip install -r requirements.txt => 安裝txt內的套件
這時候我們只需要在別台電腦或是虛擬主機丟入 requirements.txt後,
執行 pip install -r requirements.txt 就能快速把所有原先的套件安裝到新的環境。
$ pip install -r requirements.txt
python3 -m pip install –upgrade pip => 升級 pip 套件
有時候,再安裝套件完成後,會顯示叫你升級,當然建議升級比較好嚕!
pip show XXX => 顯示指定套件資訊
當你安裝了某個套件,除了透過 pipfreeze 以及 piplist 可以知道版本號,想更了解細項說明
就可以使用 pip show XXX的方式查詢
下方程式碼使用 requests 來作為示範
$ pip show requests
Name: requests
Version: 2.25.1
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
Requires: idna, certifi, chardet, urllib3
Required-by: webdriver-manager, requests-oauthlib, pytrends, pocoui, hrpc, google-api-core, facebook-wda, airtest
pip uninstall -r requirements.txt -y => 卸載所有套件
你想卸載掉某些套件該怎麼做呢?
可以先執行pip freeze > requirements.txt
然後修改requirements.txt,要刪除的套件保留,不要刪除的移除
接著執行pip uninstall -r requirements.txt -y 就能快速刪除指定的所有套件
如果要安裝回來再次執行pip install -r requirements.txt
$ cat requirements.txt # 查詢檔案內容
beautifulsoup4==4.9.3
$ pip uninstall -r requirements.txt -y # 卸載requirements內的套件
Found existing installation: beautifulsoup4 4.9.3
Uninstalling beautifulsoup4-4.9.3:
Successfully uninstalled beautifulsoup4-4.9.3
Found existing installation: bs4 0.0.1
Uninstalling bs4-0.0.1:
Successfully uninstalled bs4-0.0.1
$ pip install -r requirements.txt # 安裝 requirements內的套件
Collecting beautifulsoup4==4.9.3
Using cached beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
Collecting bs4==0.0.1
Using cached bs4-0.0.1.tar.gz (1.1 kB)
Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from beautifulsoup4==4.9.3->-r requirements.txt (line 1)) (2.2.1)
Using legacy 'setup.py install' for bs4, since package 'wheel' is not installed.
Installing collected packages: beautifulsoup4, bs4
Running setup.py install for bs4 ... done
Successfully installed beautifulsoup4-4.9.3 bs4-0.0.1
文章內的程式碼都可以直接複製下來練習操作,或是直接套用到自己的專案都行!
多練習,對自已會有很大的幫助!
一回生二回熟,將所學習到內容變成自己的知識。
人就是要學習自己不會的事情,這樣才會不斷的成長、進步!
更多技術文章
透過下方按鈕找尋到相關的技術文章,希望可以幫助到正在學習的你
加入到我的粉絲專頁,不定期發布最新文章資訊!
有任何文章問題都可以詢問喔!