1

I am trying to run a block of code after my python package has been downloaded from PyPi.

I've setup a custom cmdclass in my setuptools.setup

from setuptools import find_packages, setup
from setuptools.command.install import install


class CustomInstallCommand(install):
    def run(self):
        print "Here is where I would be running my code..."
        install.run(self)



setup(
  name = 'packagename',
  packages=find_packages(),
  version = '0.1',
  description = '',
  author = '',
  cmdclass={
    'install': CustomInstallCommand,
  },
  author_email = '',
  url = '',
  keywords = [],
  classifiers = [],
)

This works great when I run python setup.py install which outputs my print statement. However, when I build the tar.gz package (using python setup.py sdist) and try to install via pip (pip install dist/mypackage-0.1.tar.gz), the print statement is never printed. I have also tried to upload the built package to PyPi and pip install from there.

I have looked at a similar question asked on stackoverflow but the solution did not work.

Alex
  • 1,432
  • 14
  • 26

1 Answers1

3

pip install does run your custom command, it just hides all standard output from setup.py. To increase verbosity level and see your command output, try running

pip install -v ...
Nils Werner
  • 34,832
  • 7
  • 76
  • 98