使用pyproject.toml和setuptools打包后无法执行自定义命令
解决Python包console_scripts命令找不到的问题
1. 确认包已正确安装
- 执行
pip list或pip show <你的包名>,检查目标包是否在已安装列表中 - 若使用虚拟环境,务必确保已激活对应环境后再执行安装操作
2. 确保安装流程完整
构建wheel包后,必须通过pip安装生成的包文件,而非仅构建不安装:
# 安装构建好的wheel文件(替换为实际生成的文件名) pip install dist/your_package-0.1.0-py3-none-any.whl
或者直接在项目根目录执行 pip install .,省去单独构建的步骤,更高效直接
3. 检查pip脚本路径是否在系统PATH中
zsh提示命令找不到,大多是因为pip安装的可执行脚本目录未加入系统PATH:
- 执行
python3 -m site --user-base获取用户基础目录,脚本通常位于${输出结果}/bin(常见路径如~/.local/bin) - 执行
echo $PATH查看当前PATH,确认上述路径是否存在 - 若不存在,将其添加到zsh配置文件(
~/.zshrc):
执行echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc让配置立即生效
4. 验证console_scripts配置准确性
核对setup.cfg中的配置格式是否正确:
[options.entry_points] console_scripts = excommand = example.exmodule:command
同时确保 example/exmodule.py 中的 command 函数可独立执行:
def command(): print("Hello, World!") if __name__ == "__main__": command()
5. 检查虚拟环境PATH优先级
若使用虚拟环境,激活后虚拟环境的bin目录应处于PATH最前端,确保pip安装的脚本优先使用虚拟环境版本。若激活后PATH未更新,重新激活一次虚拟环境即可
内容的提问来源于stack exchange,提问作者Henrique Hott
相关产品推荐
相关产品推荐

