通过pip从PyPi运行安装后代码

时间:2017-06-20 14:14:06

标签: python pip setuptools pypi

我试图在从PyPi下载python包之后运行一段代码。

我在cmdclass

中设置了自定义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 = [],
)

当我运行输出我的print语句的python setup.py install时,这很有用。但是,当我构建tar.gz包(使用python setup.py sdist)并尝试通过pip(pip install dist/mypackage-0.1.tar.gz)安装时,永远不会打印print语句。我还尝试将构建的包上传到PyPi并从那里上传pip。

我看过类似的问题asked on stackoverflow,但解决方案无效。

1 个答案:

答案 0 :(得分:2)

pip install会运行您的自定义命令,它只隐藏setup.py的所有标准输出。要增加详细级别并查看命令输出,请尝试运行

pip install -v ...