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

setup.py中entry_points正常,切换setup.cfg后无法找到mycli命令

console_scripts从setup.py迁移到setup.cfg后命令无法调用的问题解决

问题背景

原本在setup.py中通过entry_points配置console_scripts:

# 原setup.py片段
setup(
    # ... 其他配置项
    entry_points={
        'console_scripts': [
            'mycli = mypackage.cli:main',
        ],
    }
)

安装后可正常通过mycli命令运行应用。

将entry_points迁移至setup.cfg,setup.py仅保留基础调用:

# 迁移后的setup.py
from setuptools import setup

setup()
# setup.cfg片段
[options.entry_points]
console_scripts =
    mycli = mypackage.cli:main

本地执行pip install .安装后,终端提示找不到mycli命令。

排查过程

  1. 验证entry_points配置:执行pip show <your-package-name>,查看输出的Entry-points部分,确认console_scripts的mycli配置已被正确识别。
  2. 检查环境PATH:排查发现pyenv管理的Python环境中,脚本安装目录未被正确加入系统PATH,导致终端无法定位到生成的mycli可执行文件。

解决方法

  1. 查看当前PATH配置,确认pyenv相关目录是否存在:
    echo $PATH
    
    需要确保$HOME/.pyenv/shims和当前激活的pyenv环境bin目录(如$HOME/.pyenv/versions/your-env/bin)在PATH中。
  2. 若目录缺失,在shell配置文件(.bashrc、.zshrc等)中添加:
    export PATH="$HOME/.pyenv/shims:$PATH"
    export PATH="$HOME/.pyenv/versions/your-env/bin:$PATH"
    
  3. 重新加载shell配置:
    source ~/.bashrc  # 对应bash环境
    # 或
    source ~/.zshrc   # 对应zsh环境
    
  4. 再次尝试调用mycli命令,即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:55:23