Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python包的多种安装配置_Python_Packaging_Pip_Distribute - Fatal编程技术网

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

我正在创建一个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安装
      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包
      纺织品
这是我第一次从开发人员的角度来摆弄Python包,因此,如果我做错事之类的,我愿意接受任何人提供的任何东西


谢谢。

默认安装将安装
安装所需的
软件包
部分中的所有内容。
extras\u require
下的软件包永远不会由setup.py脚本安装;仅当您为此类安装创建一些逻辑时

默认情况下,
setuptools
distutils
无法明确地说“使用我的安装调用的这些部分进行安装”。您需要自己实施

pip
始终使用无参数来安装包,以设置.py但是--外部管理的单一版本,告诉
setuptools
永远不要创建
.egg
文件


结论:如果您希望人们使用pip安装您的软件包,请忘记
--bare
--with textile
。最好是完整安装,包括
misaka
textile
作为依赖项


也许你应该读一读,特别是这一节,它非常好,涵盖了setuptools可以做的一切。

谢谢你花时间回答,但大部分时间你只是告诉了我我已经知道的一切,并且已经阅读了你发布的所有链接。我的示例命令就是这样,一个我想要实现的示例,而不是我期望通过distribute或pip实现的。在标题和第一段中,我的问题是:为Python软件包提供多种安装配置的最佳方式是什么?没问题,我感谢您的回答。