在python setup.py install_requires列表中传递参数

时间:2014-08-06 13:30:45

标签: python python-imaging-library pyramid setup.py

我用pip来安装PIL。安装时需要两个额外的参数。所以安装命令看起来像这样。

pip install PIL --allow-external PIL --allow-unverified PIL

我需要在setup.py文件中添加PIL包。在install_requires列表中添加PIL会安装PIL,但它不起作用,因为我需要使用附加参数安装PIL。

那么如何使用其他参数将PIL添加到install_requires列表?

2 个答案:

答案 0 :(得分:2)

目前,无法在setup.py中的install_requires中指定额外参数。但是,通过对global-options类进行子类化并覆盖其setuptools.command.install方法,我解决了使用run()安装依赖项的问题,如下面的代码 -

from setuptools import setup
from setuptools.command.install import install
from subprocess import call


class CustomInstall(install):
    def run(self):
        install.run(self)
        call(['pip', 'install', 'PIL', '--allow-external', 'PIL', '--allow-unverified', 'PIL'])

setup( ...
      cmdclass={
          'install': CustomInstall,
      },
)

答案 1 :(得分:0)

只需用Pillow替换PIL(在install_requires中)。它是PIL的一个分支,带有错误修正,py3k支持和正确的托管。您无需更改代码。