博客 / 詳情

返回

全面解析 python 包管理工具 pip

一、什麼是 pypi

The Python Package Index 是 python 軟件包的存儲庫。在這裏可以找到社區中你需要的 python 軟件包。

pipy 中有 50+ 多萬個項目,500+ 萬加的釋放,以及 76+ 萬的用户。python 生態龐大,值得擁抱。

二、什麼是 pip

The Python Package Installer python 的包管理工具

三、資源

  • pip 官網
  • pip 包管理庫

四、自帶 pip 的 python

🚨🚨🚨注意:Python 2.7.9 + 或 Python 3.4+ 以上版本都自帶 pip 工具。

五、安裝 pip

如果你還沒有 pip 可以安裝,帶有 pip 的 python 版本。

  • py -m ensurepip --upgrade ensurepip 確認模塊
  • 使用 get-pip 引導安裝

六、pip 命令詳解

pip --help 獲取所有 pip 命令提示
  • 升級pip: pip install -U pip
  • 安裝
pip install pkg              # 最新版本
pip install pkg==1.0.4       # 指定版本
pip install 'pkg>=1.0.4'     # 最小版本

pip install tmuxp # 安裝 tmuxp 示例
  • 升級包:pip install --upgrade pkg
  • 搜索包: pip search pkg
  • 顯示包信息:pip show/pip show -f pkg
  • 顯示所有已經安裝的包:pip list(pip list -o 可升級)

七、pip 鏡像站

  • 清華開源鏡像站
  • 阿里雲鏡像站
  • 豆瓣鏡像站
  • 中科大進鏡像站

八、requirements.txt 記錄python包管理工具

8.1)什麼是 requirements.txt

requirements.txt 是 python 在不同的環境中對依賴包的一種約定,用於列出 Python 項目中所有的依賴包以及對應版本號的文本文件。一般在項目的在工程目錄下。

8.2)requirements.txt 格式

pkg==version 等於版本
pkg>version 大於版本
pkg<version 小於版本
pkg>=version 大於等於版本
pkg<=version 小於等於版本
pkg~=version 大於版本
pkg >= 1.0, <=2.0 容版本,使用任何大於或等於指定版本,但不大於當前發行系列的版本,

8.3)一個簡單的示例

touch requirements.txt

# 輸入
requests==2.26.0
numpy>=1.21.4
pandas<=1.3.5

8.4)pip 安裝 requirements.txt 中的包

pip install -r requirements.txt

8.5)更新 requirements.txt 中的包

pip freeze > requirements.txt

九、python 中常用包推薦

領域 庫名稱 描述
數據處理與科學計算 NumPy 用於數值計算,提供高效的多維數組對象和操作。
Pandas 用於數據處理和分析,提供了數據結構和工具。
SciPy 提供了許多科學計算的工具包,包括數值積分、優化、信號處理等。
matplotlib 用於繪製圖表和數據可視化。
機器學習與人工智能 Scikit-learn 提供了各種機器學習算法和工具。
TensorFlow 或 PyTorch 用於深度學習和神經網絡。
Keras 用於構建和訓練神經網絡的高級 API。
Web 開發 Flask 或 Django Web 應用程序框架,用於構建 Web 應用。
requests 用於 HTTP 請求和訪問 Web 數據。
自然語言處理 NLTK 用於自然語言處理的庫,包含了豐富的語料庫和算法。
spaCy 提供了高效的自然語言處理工具。
測試 unittest Python 內置的單元測試框架。
pytest 簡化測試的庫,支持更多的測試特性。
圖像處理 Pillow 用於圖像處理的庫,支持圖像格式的處理和基本圖像操作。
數據庫 SQLAlchemy 用於數據庫操作的庫,提供了高層的 SQL 工具。
pymongo 用於 MongoDB 數據庫的 Python 客户端庫。
加密與安全 cryptography 提供了加密工具和算法。
請求相關 Requests 簡單易用的 HTTP 請求庫,用於發送各種類型的 HTTP 請求。
HTML 解析相關 Beautiful Soup 用於解析 HTML 和 XML 文檔,功能強大且靈活。
遊戲開發 Pygame 用於創建 2D 遊戲的庫,提供了圖形、聲音和輸入的支持。
Pyglet 用於開發遊戲和多媒體應用程序的庫,支持 OpenGL。
Ren'Py 用於創建視覺小説和交互式故事的框架。
Arcade 適用於初學者的 2D 遊戲開發庫,旨在簡化遊戲開發過程。
PyOpenGL Python 的 OpenGL 實現,允許直接訪問 OpenGL API。

十、小結

本文主要關注 pip 包管理工具以及使用方法,pip 已經在內置到了新版的 python 中,使用 pip 可方便的管理 python 的第三方依賴。同時 pip 可以通過 requirements.txt 來配置當前項目的依賴以及版本,可以很好的管理自不同環境中包的依賴問題,最後推薦了一些 python 生態中常用的包,希望能夠幫助到你。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.