我正在开发一个安装在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']
还是要调用安装脚本?什么是最佳做法?
答案 0 :(得分:1)
最佳做法取决于目标受众,但由于(i)apt-get
特定于Debian / Ubuntu和衍生产品,(ii)它需要超级用户权限,(iii)软件包的名称往往会在不同版本之间发生变化, (iv)软件包可能会发生冲突,我倾向于将这些内容放在README而不是脚本中。