我正在创建一个本质上有点模块化的Python包,我想知道处理多个安装配置的最佳方法是什么?在
下面的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 install
或{my_document_parser
,some_required_package
,misaka
python setup.py install --bare
my_document_parser
,some_required_package
python setup.py install --bare --with-textile
my_document_parser
,some_required_package
,textile
这是我第一次从开发人员的角度来处理Python包,所以如果我做错事的话,我愿意接受任何人提供的东西。在
谢谢。在
默认安装将安装
install_requires
和packages
部分中的所有内容。您将永远不会安装extras_require
下的包设置.py脚本;仅当您为此类安装创建一些逻辑时。在默认情况下,
setuptools
和distutils
无法明确地说“使用安装调用的这些部分进行安装”。你需要自己去实现。在pip
总是使用无参数来安装包设置.py但是外部管理的单一版本,告诉setuptools
永远不要创建{结论:如果您希望人们使用pip安装您的软件包,请忘记
bare
和{misaka
和{也许您应该阅读The Hitchhiker's Guide To Packaging,特别是Creating a Package部分和{a3}这是一个相当好的,它涵盖了setuptools可以做的一切。在
相关问题 更多 >
编程相关推荐