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

使用Hatch配置Python脚本入口点后,安装包未生成PATH可执行脚本问题排查

问题:Python包安装后未生成可加入PATH的脚本

我希望安装Python包后能生成可放入用户PATH的脚本,已遵循Hatch入口点指南,项目目录结构如下:

.
├── docs
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   ├── Makefile
│   ├── modules.rst
│   ├── pylb.experiments.rst
│   └── pylb.rst
├── LICENSE.txt
├── pyproject.toml
├── README.md
├── src
│   └── pylb
│       ├── __about__.py
│       ├── experiments
│       │   ├── __init__.py
│       │   └── sphinx.py
│       ├── __init__.py
│       └── scripts
│           └── __init__.py
└── tests
    └── __init__.py

我的pyproject.toml配置如下:

[project.scripts]
pylbtestapp = "pylb.scripts:main"

src/pylb/scripts/init.py内容为:

def main():
    print("Hi There! This is pylb test app.")

但使用pip安装该包后,脚本并未按预期生成,请问我哪里操作有误?


解决方法

核心问题是pyproject.toml未正确配置src布局的包路径,导致pip无法识别pylb.scripts模块,进而无法生成对应的入口脚本。

1. 修正pyproject.toml的包配置

在[project]区块下添加src布局的相关配置,确保pip能找到src目录下的所有子模块:

方式一:手动指定包

[project]
# 保留原有配置,新增以下内容
packages = ["pylb"]
package-dir = {"" = "src"}

方式二:自动查找包(推荐)

[project]
# 保留原有配置,新增以下内容
packages = find:
package-dir = {"" = "src"}

2. 重新安装包

先卸载已安装的版本,再重新安装:

pip uninstall -y pylb
pip install .

3. 验证脚本

安装完成后,直接在终端执行:

pylbtestapp

若输出Hi There! This is pylb test app.,说明脚本已成功生成并加入PATH。

额外检查项

  • 确认src/pylb/scripts/__init__.py中的main函数无语法错误
  • 若使用虚拟环境,需激活对应环境后再执行安装和测试命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:23:11