setup75.6安装教程 setup安装教程 Python中setup script怎么使用
setup.py的作用是定义和配置可安装的python包,用于声明包名、版本、依赖等信息。它通过调用setuptools.setup()函数实现包的构建与安装逻辑,常用于传统项目中。编写时需注意使用find_packages()自动发现包结构,install_需要描述声明依赖项,并填写作者、等元数据。常见注意事项包括:手动更新版本号、避免备份测试代码、合理使用console_scripts定义脚本、区分运行依赖与开发依赖。虽然setup.py仍然是老项目的核心工具,但新项目推荐使用pyproject.t
在Python项目中,setup.py的主要作用是定义和配置一个可安装的Python包。它不是必须的(现在也有其他工具如pyproject.toml),但在很多传统项目和工具链中仍然非常常见。简单来说,就是告诉pip、setupt它等工具“这个包叫什么、包含哪些内容、依赖哪些库”信息的核心文件。什么是setup.py
setup.py是一个Python脚本等,通常放在项目的根目录下。其核心作用是调用setuptools.setup()函数来声明包的元数据和构建逻辑。当你运行时python setup.py install 或 pip install 。 这时,系统就会读取这个文件并据此安装你的包。
它里面常见的字段包括:name:包名version:版本号packages:要压缩的模块列表install_requires:安装依赖author,description,url等基本信息如何编写一个基本的setup.py
写一个可用的setup.py其实不难,重点是结构清晰、信息准确。下面是一个最简示例:
立即学习“Python学习笔记(深入)”;from setuptools import setup,find_packagessetup( name='my_package', version='0.1.0',packages=find_packages(),install_requires=[ 'requests', 'numpy' ],author='你的名字',description='一个简单的示例包', url='https://github.com/yourname/yourrepo',)登录后复制
关键点说明:使用 find_packages() 可以自动查找所有内容 __init__.py 的目录作为包install_requires用于声明依赖项,确保用户安装时不缺组件先填写完整的作者、等信息,这对发布到PyPI非常重要常见注意事项和坑点
虽然setup.py看起来很简单,但实际使用描述中还是有几个容易忽略的地方:
版本号更新要手动修改:不是某些语言可以自动生成,Python包的版本号需要你每次发版本时手动修改。
不要把测试代码打进包里:如果你用了find_packages(),记得加上except=['tests*'] 避免错误备份。
入口脚本可以用console_scripts定义:比如你让用户通过命令行直接运行某个脚本,可以加:entry_points={ 'console_scripts': [ 'mycmd=my_package.cli:main', ],},登录后复制
注意区分开发依赖和运行依赖:有些库只是用于测试或构建文档,不应该出现在install_requires里。可以通过extras_require来分组管理。是否还继续用setup.py
虽然setup.py很经典,但现在官方推荐使用pyproject.toml配合build或者poetry等现代工具来管理项目。setup.py本身已经被标记为“leg” acy”,但是目前大量项目依赖它,尤其是企业内部的老项目。
所以结论是:如果你维护老项目,了解和掌握setup.py仍然是必要的;如果是新项目,可以考虑更现代化的方式,但理解它的原理还是有帮助的。
基本上就这些。setup.py不算复杂,但细节很容易忽略,特别是在版本管理和依赖控制上,稍不注意就可能让用户踩坑。
以上就是Python中setup.py的作用传统Python包配置setup.py文件编写指南的详细内容,更多请关注乐哥常识网其他相关文章!