python发布项目包总结

这篇博客介绍了Python项目的打包和发布流程,包括使用`setup.py`文件配置项目信息,如项目名、作者、版本、描述等,并详细说明了不同命令如`build`、`install`、`sdist`和`bdist_wheel`的用途。此外,还涵盖了如何设置包和模块的包含及排除规则,以及如何处理依赖和入口点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目结构

setup模板

from setuptools import setup, find_packages


setup(
    name='example_project',
    version=1.0,
    author='Eureca',
    author_email='ustczhng2012@163.com',
    url='',
    description='this is a test project',
    license="MIT",
    python_requires='>=3',
    classifiers=[
        # How mature is this project? Common values are
        #   3 - Alpha
        #   4 - Beta
        #   5 - Production/Stable
        'Development Status :: 3 - Alpha',
        # Indicate who your project is intended for
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        # Pick your license as you wish (should match "license" above)
        'License :: OSI Approved :: MIT License',
        # Specify the Python versions you support here. In particular, ensure
        # that you indicate whether you support Python 2, Python 3 or both.
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
    ],
    # 搜索该工程目录(test1/)下所有的包,包括子包。发布的包所依赖的其他包也要发布,否则会出现no module found问题
    packages=find_packages(),
    # 当上述要发布的包不是采用find_packages,而是自己命名制定的,这时需要用package_Dir字典指明你要发布的包对应代码中哪个目录,以根目录为基准
    package_dir={},
    # 如果没有包,需要发布模块,通过下面这个参数指定
    py_modules=[],
    # 所有包目录下被版本控制软件管理起来的文件
    include_package_data=True,
    # 所有包目录下未被版本控制软件管理起来的文件
    package_data={'': ['*.yaml']},
    # 某个包下哪些文件不要打包进去,这里以yolo包为例
    exclude_package_data={'example': ['app.js']},
    install_requires=[],
    entry_points={'console_scripts': [
        'print_func=a:print_func'
    ]}
)

常用命令

  • 编译:python3 setup.py build
  • 直接分发:python3 setup.py install
  • 打包发布给别人:
    • python3 setup.py sdist,以tar.gz形式给别人
    • python3 setup.py bdist_wheel,以whl形式给别人
  • 调试阶段:python3 setup.py develop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值