Python pip如何处理第三方依赖项

时间:2014-01-15 09:54:58

标签: python pip

我正在开发一个安装在virtual-env内的python模块。该模块依赖于第三方python模块,如pandas,matplotlib等,它们自己依赖非python包进行编译。

我的setup.py看起来像这样

config = {
          'packages': ['name'],
          'install_requires': ['numpy',
                               'pandas',
                               'cython',
                               'matplotlib',
                              ],
          'name': 'name',
         }
setup(**config)

我当前的工作流程是pip install包,并等待编译错误并手动安装缺少的依赖项。但是,如果我将模块交给我的同事,这可能会成为痛苦的对象。

有没有办法告诉pip安装非python依赖项,如

'external_requires': ['gcc',
                     ],

'external_install':  ['apt-get install']

还是要调用安装脚本?什么是最佳做法?

1 个答案:

答案 0 :(得分:1)

最佳做法取决于目标受众,但由于(i)apt-get特定于Debian / Ubuntu和衍生产品,(ii)它需要超级用户权限,(iii)软件包的名称往往会在不同版本之间发生变化, (iv)软件包可能会发生冲突,我倾向于将这些内容放在README而不是脚本中。