Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing arguments in python setup.py install_requires list

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 ?

like image 590
V1n0d Avatar asked Nov 22 '22 15:11

V1n0d


1 Answers

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,
      },
)
like image 172
Abhijeet Kasurde Avatar answered Nov 25 '22 03:11

Abhijeet Kasurde