Python包的多种安装配置
我正在创建一个Python包,它在本质上是模块化的,我想知道处理多个安装配置的最佳方式是什么 对于简单文档解析器的包,请使用以下Python包的多种安装配置,python,packaging,pip,distribute,Python,Packaging,Pip,Distribute,我正在创建一个Python包,它在本质上是模块化的,我想知道处理多个安装配置的最佳方式是什么 对于简单文档解析器的包,请使用以下setup.py: setup( name = 'my_document_parser', ... entry_points = { 'my_document_parser.parsers': [ 'markdown = my_document_parser.parsers.misaka:Parser [m
setup.py
:
setup(
name = 'my_document_parser',
...
entry_points = {
'my_document_parser.parsers': [
'markdown = my_document_parser.parsers.misaka:Parser [misaka]',
'textile = my_document_parser.parsers.textile:Parser [textile]'
]
},
install_requires = [
'some_required_package'
],
extras_require = {
'misaka' = ['misaka'],
'textile' = ['textile']
},
...
)
我想提供以下内容:
- 默认安装
或python setup.py安装
pip安装我的文档\u解析器
- 安装
,my\u document\u解析器
,一些必需的\u包
misaka
- 赤裸裸的安装
- 类似于
python setup.py安装--bare
- 安装
,my\u document\u解析器
一些必需的\u包
- 类似于
- 一种启用其他依赖项的方法
- 类似于
python setup.py安装——裸装——带织物
- 安装
,my\u document\u解析器
,一些必需的\u包
纺织品
- 类似于
谢谢。默认安装将安装
安装所需的和软件包
部分中的所有内容。extras\u require
下的软件包永远不会由setup.py脚本安装;仅当您为此类安装创建一些逻辑时
默认情况下,setuptools
和distutils
无法明确地说“使用我的安装调用的这些部分进行安装”。您需要自己实施
pip
始终使用无参数来安装包,以设置.py但是--外部管理的单一版本,告诉setuptools
永远不要创建.egg
文件
结论:如果您希望人们使用pip安装您的软件包,请忘记--bare
和--with textile
。最好是完整安装,包括misaka
和textile
作为依赖项
也许你应该读一读,特别是这一节,它非常好,涵盖了setuptools可以做的一切。谢谢你花时间回答,但大部分时间你只是告诉了我我已经知道的一切,并且已经阅读了你发布的所有链接。我的示例命令就是这样,一个我想要实现的示例,而不是我期望通过distribute或pip实现的。在标题和第一段中,我的问题是:为Python软件包提供多种安装配置的最佳方式是什么?没问题,我感谢您的回答。