一、什麼是 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 --upgradeensurepip 確認模塊- 使用 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 生態中常用的包,希望能夠幫助到你。