Passing arguments in python setup.py install_requi

2019-02-23 08:05发布

I have used pip to install PIL. It requires two additional arguments while installation. So the command for installation looks something like this.

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

I need to add the PIL package in setup.py file. Adding PIL in the install_requires list do install PIL but it doesn't work, as I need to install PIL with the additional arguments.

So how can I add the PIL to the install_requires list with additional arguments ?

2条回答
倾城 Initia
2楼-- · 2019-02-23 08:47

Just replace PIL with Pillow (in your install_requires). It's a fork of PIL with bugfixes, py3k support and proper hosting. You don't need to change your code.

查看更多
我只想做你的唯一
3楼-- · 2019-02-23 08:48

Currently, there is no way to specify extra arguments in install_requires in setup.py. But, I solved my problem of installing dependencies with global-options by sub-classing setuptools.command.install class and overriding its run() method, like following code -

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,
      },
)
查看更多
登录 后发表回答