* `install_requires`:指定安装此包所需的依赖项列表。 * `extras_require`:定义可选的依赖项,用于扩展包的功能。这些依赖项可以通过特定的“extras”来安装,例如`pip install my_package[dev]`将安装开发所需的依赖项。 * `entry_points`:定义命令行脚本的入口点。这允许用户通过命令行直接运行包中的函数或脚本。
extras”的依赖不会自动安装,除非其他发布包B的setup.py中用install_requires明确的指定依赖发布包A的”extras”特性。 使用setup函数的extras_require参数来说明” extras”, extras_require是一个字典,key是”extra”的名字,value就是描述依赖的字符串或者字符串列表。比如下面的Project-A就提供了可选的PDF支持: setu...
extras_require={ # 添加了可选安装的依赖 package 'interactive': ['matplotlib>=2.2.0,<3.0.0', 'jupyter'] } ) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 其中extras_require 部分是可以选择安装的 package。 使用pip install -e . 命令并不会安装 extras_require 里面的 package。 如果...
coloredlogs; sys_platform == 'win32'distlibEmPy extras_require:当前包的额外特性需要依赖的包,file,section,示例如下: [options.extras_require]test = flake8>=3.6.0flake8-blind-exceptflake8-builtins python_requires:指定项目依赖的 Python 版本,str entry_points:接入点,主要用于发现服务和插件,也可用于...
使用setup函数的extras_require参数来说明” extras”, extras_require是一个字典,key是”extra”的名字,value就是描述依赖的字符串或者字符串列表。比如下面的Project-A就提供了可选的PDF支持: setup( name="Project-A", ... extras_require = {'PDF': ["ReportLab>=1.2","RXP"] ...
支持多种构建变体:Setuptools支持使用不同的构建变体来满足不同的需求。通过使用extras_require参数,可以定义额外的依赖关系,以支持不同的功能或配置选项。 社区支持和活跃开发:Setuptools是Python社区中广泛使用的软件包管理工具之一,拥有活跃的开发者社区和丰富的文档资源。这意味着可以轻松找到解决问题的方法,并及时获取...
tests_require 表示仅在测试时需要使用的依赖,在正常发布的代码中是没有用的。 在执行python setup.py test时,可以自动安装这三个库,确保测试的正常运行。 extras_require仅表示当前模块会依赖哪些包, 但是这些包通常不会使用到,只有当你深度使用模块时,才会用到,这里需要你手动安装 from setuptools import setup, ...
# 用于安装setup_requires或tests_require里的软件包 # 这些信息会写入egg的 metadata 信息中 dependency_links=[ "http://example2.com/p/foobar-1.0.tar.gz", ], # install_requires 在安装模块时会自动安装依赖包 #而 extras_require 不会,这里仅表示该模块会依赖这些包 ...
extras_require = dict(reST = "Docutils>=0.3.5") ) 上面列举了三中定义方式,即我们将我们some_module中的函数,以名字为blogtool.parsers的借口共享给别的应用。 别的应用使用的方法是通过pkg_resources.require()来导入这些模块。 另外,一个名叫stevedore的库将这个方式做了封装,更加方便进行应用的扩展。
依赖包的安装与版本管理由setup函数的install_requires、setup_requires、tests_require和extras_require参数实现。对于python版本限制,使用python_requires参数指定。setup函数的entry_points和scripts参数用于生成命令行脚本。而C/C++扩展则通过python setup.py build_ext --inplace命令进行编译。主要通过setup函数...