You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pip成功安装PyPI包后输出自定义提示消息?

实现pip安装后显示自定义提示消息

在setup.py顶层加print语句无效,是因为这些代码会在包构建阶段执行,而非安装完成后,且pip可能捕获或重定向这部分输出。要实现安装完成后的自定义提示,推荐以下两种可靠方法:

方法一:自定义Install命令类

继承setuptools的install命令,在标准安装流程结束后插入自定义提示:

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

class CustomInstall(install):
    def run(self):
        # 先执行标准安装流程
        install.run(self)
        # 打印自定义提示内容
        print("\n✅ my-package安装成功!")
        print("快速开始:运行`my-package init`创建配置文件")
        print("更多帮助请执行:`my-package --help`\n")

setup(
    name="my-package",
    version="0.1.0",
    packages=find_packages(),
    # 指定自定义的install命令
    cmdclass={"install": CustomInstall},
    # 补充其他必填配置(如author、description等)
)

方法二:调用post-install脚本(适合复杂逻辑)

如果需要执行创建配置文件、检查依赖等复杂操作,可以单独写一个脚本,再通过自定义命令调用:

  1. 在包目录下创建post_install.py:
def show_welcome_message():
    print("\n🎉 欢迎使用my-package!")
    print("系统要求:Python 3.8及以上版本")
    # 可添加复杂逻辑,比如生成默认配置文件
    # import os
    # config_path = os.path.expanduser("~/.my-package/config.ini")
    # if not os.path.exists(config_path):
    #     with open(config_path, "w") as f:
    #         f.write("[DEFAULT]\n")
    #     print("已生成默认配置文件:", config_path)

if __name__ == "__main__":
    show_welcome_message()
  1. 在setup.py中修改自定义Install类,调用该脚本:
from setuptools import setup, find_packages
from setuptools.command.install import install
import subprocess
import sys

class CustomInstall(install):
    def run(self):
        install.run(self)
        # 调用post_install脚本
        subprocess.run([sys.executable, "-m", "my_package.post_install"])

setup(
    name="my-package",
    version="0.1.0",
    packages=find_packages(),
    cmdclass={"install": CustomInstall},
    # 补充其他配置
)

注意事项

  • 提示内容尽量简洁,聚焦关键操作或注意事项
  • 若用户使用pip install --quiet参数,输出会被隐藏,因此仅在必要时添加提示
  • 测试时建议用pip install .本地安装验证效果,避免混淆包构建与安装阶段的执行逻辑

内容的提问来源于stack exchange,提问作者user10290365

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:10:24