Custom pip install commands not running

2019-05-02 11:38发布

I'm trying to run some pre-installation commands for a pip library I'm writing. My setup file looks like:

from setuptools import setup                                                        

from setuptools.command.install import install                                      

class CustomInstall(install):                                                       
    def run(self):                                                                  
        install.run(self)                                                           
        print "TEST"                                                           

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

Based on Run custom task when call `pip install`.

However, pip installing is not printing "TEST". Is there something wrong I'm doing here? How can I get this setup.py file to actually print?

UPDATE: The following, FYI, does raise an Attribute error:

from setuptools import setup                                                        

from setuptools.command.install import install                                      

class CustomInstall(install):                                                       
    def run(self):                                                                  
        install.run(self)                                                           
        raise AttributeError                                                        

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

1条回答
仙女界的扛把子
2楼-- · 2019-05-02 11:41

I've run into a similar issue with a custom install class that prints to sys.stdout. In my case, the custom command is actually run, but it appears that the output is being filtered by pip.

I believe that this is discussed in some detail here: https://github.com/pypa/pip/issues/2732#issuecomment-97119093

查看更多
登录 后发表回答