python setuptools install_requires é ignorado ao substituir cmdclass

eu tenho umsetup.py que se parece com isso:

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

class MyInstall(install):
    def run(self):
        call(["pip install -r requirements.txt --no-clean"], shell=True)
        install.run(self)

setup(
    author='Attila Zseder',
    version='0.1',
    name='entity_extractor',
    packages=['...'],
    install_requires=['DAWG', 'mrjob', 'cchardet'],
    package_dir={'': 'modules'},
    scripts=['...'],
    cmdclass={'install': MyInstall},
)

eu precisoMyInstall porque eu quero instalar algumas bibliotecas do github e eu não queria usardependency_links opção, porque é desencorajado (por exemploaqui), para que eu possa fazer isso com requirements.txt.

Quando instalo este pacote compip, está tudo funcionando bem, mas por algumas razões eu tenho que resolver isso de uma maneira que também funcione com puropython setup.py install. E isso não acontece.

Ao substituircmdclass nosetup() com minha própria turma,install_requires parece ser ignorado. Assim que eu comento essa linha, esses pacotes estão sendo instalados.

Eu sei que install_requires não é suportado, por exemplo, em distutils (se bem me lembro), mas está em setuptools. E depoiscmdclass não teria nenhum efeito sobreinstall_requires.

Pesquisei esse problema por horas, encontrei muitas respostas relacionadas ao stackoverflow, mas não para esse problema em particular.

Ao colocar todos os pacotes necessários no requirements.txt, tudo está funcionando bem, mas eu gostaria de entender por que isso está acontecendo. Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion