python打包發(fā)布pypi及更新全部流程
發(fā)布
1. 安裝打包依賴工具
pip install setuptools
2. 安裝上傳工具
pip install twine
3. 注冊PYPI官網(wǎng)個人用戶

4. 在和項目同級目錄創(chuàng)建setup.py

代碼如下:
from setuptools import setup, find_packages
GFICLEE_VERSION = '2020.8.4.6'
setup(
name='cfastproject',
version=GFICLEE_VERSION,
packages=find_packages(),
include_package_data=True,
entry_points={
"console_scripts": ['cfastproject = fastproject.main:main']
},
install_requires=[
"django", "fastapi", "gcp_mixed_logging", "asgi_request_id",
"uvicorn", "google-cloud-secret-manager", "pandas",
"peewee_async", "aiopg", "aiohttp"
],
url='https://github.com/ChuXiaoYi/fastproject',
license='GNU General Public License v3.0',
author='Xiaoyi Chu',
author_email='895706056@qq.com',
description='More convenient to create fastapi project'
)
setup參數(shù)說明:
| 名稱 | 描述 | 說明 |
|---|---|---|
| name | 項目名稱 | 不可重復(fù) |
| version | 項目版本 | 保證每次發(fā)布都是版本都是唯一的 |
| packages | 項目本身的代碼 | |
| include_package_data | 是否包括非包文件 | |
| entry_points | 項目主入口 | 安裝成功后,在命令行輸入cfastproject 就相當于執(zhí)行了fastproject.main.py中的main()了 |
| install_requires | 項目依賴包 | |
| url | 項目地址 | |
| license | license | |
| author | 項目作者 | |
| author_email | 項目郵箱 | |
| description | 項目描述 |
5. 打包前檢查
通過這一步可以檢查setup.py中是否有錯誤,例如版本號錯誤
python setup.py check
6. 打包
python setup.py sdist
7. 發(fā)布前準備
在home目錄下創(chuàng)建.pypirc 文件,寫入pypi賬戶密碼,這樣每次上傳就不需要在重復(fù)輸入了
[distutils]
index-servers =
pypi
[pypi]
username:username
password:password
本地測試
python setup.py install
安裝成功后,可以通過上面定義的命令執(zhí)行一次,如果成功證明安裝成功,可以繼續(xù)打包了
8. 注冊
上傳前需要注冊一下包的名稱,因為這個名稱必須獨一無二,如被占用則注冊不通過。
python setup.py register
9. 檢查是否符合pypi要求
twine check dist/**_.tar.gz

10. 上傳
twine upload dist/**_.tar.gz
上傳成功后,到官網(wǎng)上搜索看看包有木有吧~

更新
1. 更新代碼
并修改setup.py中的版本號
2. 更新包
python setup.py sdist bdist
3. 上傳
twine upload dist/**_.tar.gz
4. 更新包
pip install --upgrade cfastproject
關(guān)于上傳非包文件
在setup.py同級目錄下創(chuàng)建MANIFEST.in文件,里面的內(nèi)容是需要上傳的文件
例如,如果要包括項目下的所有文件:
recursive-include fastproject *
為了將這些文件在安裝時復(fù)制到site-packages中的包文件夾,需要將setup中的include_package_data設(shè)置為True
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式
今天小編就為大家分享一篇pytorch下大型數(shù)據(jù)集(大型圖片)的導(dǎo)入方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
使用Python自動化Microsoft Excel和Word的操作方法
這篇文章主要介紹了使用Python自動化Microsoft Excel和Word,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
pytest官方文檔解讀fixtures調(diào)用fixtures及fixture復(fù)用性
這篇文章主要為大家介紹了pytest官方文檔解讀fixtures調(diào)用fixtures及fixture復(fù)用性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

