我正在尝试在从 PyPi 下载我的 python 包后运行一个代码块。
我在setuptools.setup
中设置了自定义cmdclass
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 = [],
)
当我运行输出我的打印语句的python setup.py install
时,这非常有用。但是,当我构建 tar.gz 包(使用 python setup.py sdist
(并尝试通过 pip (pip install dist/mypackage-0.1.tar.gz
安装时,打印语句永远不会打印。我还尝试将构建的软件包上传到 PyPi 并从那里进行 pip 安装。
我看过一个类似的问题,但解决方案不起作用。
pip install
确实运行您的自定义命令,它只是隐藏了setup.py
的所有标准输出。若要提高详细级别并查看命令输出,请尝试运行
pip install -v ...