PyPI是Python軟體包索引(Python Package Index)的中心,它是存儲Python軟體包的全球最大的公共倉庫。在PyPI上,您可以找到超過20萬個第三方軟體包,以及一組工具,可幫助您構建、打包、測試和發布Python軟體包。
一、PyPI提供了什麼?
PyPI是Python程序員的一個關鍵資源,它提供了以下內容:
1.超過20萬個第三方Python軟體包
Python的用戶社區非常活躍,因此開發了很多有用的軟體包,可以快速啟動Python Web應用程序、開發數據分析和機器學習模型、處理圖像和多媒體等。在PyPI上,您可以找到任何您需要的包。例如,想要使用Django構建Web應用程序您可以安裝django包:
pip install django
您可以使用類似的方式安裝其它軟體包。
2.易於發布和分發軟體包
發布軟體包並不是一件簡單的事情,但PyPI可以讓整個過程變得非常容易,因為它提供了一個工具集,幫助您構建、測試和發布軟體包。
為了發布軟體包,您首先需要創建一個setup.py文件,該文件描述您的軟體包的元數據和依賴性。例如,在這個快速入門指南中,您可以看到如何為一個名為”hello”的Python軟體包定義最低要求:
from setuptools import setup, find_packages
setup(
name="hello",
version="0.1",
packages=find_packages(),
install_requires=[
"requests"
],
entry_points={
"console_scripts": [
"hello = hello:main"
]
}
)
此文件應該被放在Python項目的根目錄下。運行如下的命令「python setup.py sdist bdist_wheel」,將會打包軟體包,並生成 egg-info 和 dist 子目錄,最後可以使用類似的方式發布軟體包:
pip install dist/hello-0.1-py3-none-any.whl
3.共同維護一組工具集
PyPI還提供了一組工具,幫助您管理軟體包依賴性和版本控制。其中最常見的是pip,它是Python程序員常用的軟體包管理器之一。pip 可以幫助您安裝(以及升級!)軟體包、搜索、卸載和管理Python 包依賴項。例如,如下的命令可以安裝最新版本的 pandas並將其添加到requirements.txt中:
pip install pandas --upgrade
pip freeze > requirements.txt
二、如何使用PyPI?
想要開始使用PyPI存儲你的開源項目,可以按照以下步驟:
1.創建一個Python軟體包
首先,您需要創建一個Python軟體包,要做到這一點需要學習如何使用Python Flask,這裡我們不再贅述。請參閱這份教程,根據您的需要啟動一個Flask應用程序。
2.打包Python軟體包
一旦您創建了Python軟體包,您就可以為它創建源代碼分發包和wheel二進位分發包。下面的命令將會創建源代碼分發包和wheel二進位分發包:
python setup.py sdist bdist_wheel
3.發布Python軟體包
一旦您創建了分發包,您就可以將其發布到PyPI上,下面提供兩種不同的方法:
方法1:手工發布軟體包
您可以手工發布軟體包。為了發布軟體包,您需要首先註冊賬戶。然後使用如下命令安裝 twine:
pip install twine
接下來,運行如下命令:
twine upload dist/*
該命令會提示您輸入PyPI賬戶名和密碼,然後上傳您軟體包的源代碼分發包和所有wheel包。
方法2:使用Github Action自動化發布軟體包
您可以設置 GitHub 工作流,來自動化發布您的軟體包。首先,您需要在您的github項目設置github secrets,該secrets包含您的PyPI賬戶名和密碼。設置好了後,創建`.github/workflows/deploy.yml`文件,文件內容如下:
name: Deploy
on:
push:
tags: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install wheel
pip install twine
- name: Build and Publish
env:
TWINE_USERNAME: __token__
TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
twine upload --skip-existing dist/*
這個文件描述了一個工作流程,當你的項目在 master 分支上新打上了 Git tag 時(即版本更新),自動執行此流程。它將代碼構建為二進位和分發包,然後將它們上傳到PyPI。在此流程中,您需要使用您的PyPI API令牌作為Twine密碼。
三、結論
帶著上面的指南,您可以使用PyPI來發布您的Python軟體包。PyPI是Python軟體包索引的中心,它為Python開發人員提供了一個價值連城的資源庫。無論是在開發Web應用、數據分析或其它領域,PyPI都是幫助您實現Python項目的一個必備之處。
原創文章,作者:MABAD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332972.html