Python构建包、上传包详细步骤
1、从git上拉取最新的代码
2、在当前项目目录中创建setup.py文件
setup.py
1 # coding: utf-8 2 3 """打包 4 """ 5 import setuptools 6 from datetime import datetime 7 from src.qc_document_parser import __version__ 8 9 version = datetime.now().strftime("%Y.%m.%d.%H.%M.%S") 10 with open("README.md", encoding="utf8") as f: 11 long_description = f.read() 12 13 setuptools.setup( 14 name="packages_name", 15 version="版本号", 16 url="", 17 download_url="", 18 author="醍醐灌顶", 19 author_email="", 20 description="描述", 21 long_description=long_description, 22 packages=setuptools.find_packages("src"), 23 package_dir={"name": "src/xxx"}, 24 python_requires='>=3.9', 25 install_requires=[ 26 "依赖1>=4.10.0", 27 "依赖2>=0.6.0", 28 "lxml>=4.8.0", 29 "PyYAML>=6.0", 30 "pydantic>=1.8.2", 31 ], 32 )
3、创建一个dist目录(构建的包会被放置在该目录下)
4、打包
# 构建源代码包
python3 setup.py sdist
5、发布
python311 setup.py sdist upload -r 地址
1. python311 含义:指定 Python 3.11 解释器来运行命令。 作用:确保使用 Python 3.11 版本来构建和上传包。如果你的系统中安装了多个 Python 版本,这可以避免版本冲突。 注意:如果你的系统中没有安装 Python 3.11,或者你希望使用其他版本,可以替换为 python3 或 python。 2. setup.py 含义:这是 Python 项目中的一个脚本文件,通常位于项目根目录。 作用:setup.py 是一个 Python 脚本,用于定义包的元数据(如名称、版本、依赖关系等),并提供命令来构建、安装和分发包。 注意:只有在项目中存在 setup.py 文件时,这个命令才能正常运行。 3. sdist 含义:sdist 是 setup.py 提供的一个命令,用于生成源代码分发包(source distribution)。 作用:运行 python311 setup.py sdist 会根据 setup.py 中的定义,将项目代码打包成一个 .tar.gz 文件(或其他格式),并将其放置在项目根目录下的 dist/ 文件夹中。 输出示例:生成的文件通常类似于 your_package-1.0.0.tar.gz。 4. upload 含义:upload 是 setup.py 提供的一个命令,用于将生成的包上传到 PyPI 或其他兼容的包索引服务器。 作用:这个命令会将 dist/ 文件夹中的包上传到指定的服务器。 注意: 这个命令在现代 Python 工具链中已经被废弃,推荐使用 twine 工具来上传包。 如果你使用的是旧版本的 setuptools,upload 命令可能仍然可用,但需要确保服务器支持 PyPI 的上传协议。 5. -r 含义:-r 是 upload 命令的一个参数,用于指定上传的目标仓库(repository)。 作用:通过 -r 参数,你可以指定包上传到的服务器地址。 示例: 如果不指定 -r,包会默认上传到 PyPI 的官方服务器(https://upload.pypi.org/legacy/)。 在你的命令中,-r http://123.56.140.160:7105 表示将包上传到私有的 pypiserver 服务器。 6. pypi地址 含义:这是私有 PyPI 服务器的地址。 作用:指定包上传的目标服务器。 注意: 确保服务器正在运行,并且你有权限上传包。 如果服务器需要认证(如用户名和密码),你需要在上传时提供这些信息。
浙公网安备 33010602011771号