如何用pyproject.toml确保可编辑模式安装模块时入口点用虚拟环境Shebang
解决pyproject.toml下可编辑安装的入口点路径与Shebang问题
不用继续依赖setup.py,通过调整pyproject.toml配置和工具版本就能解决你的问题,具体步骤如下:
先升级工具版本
旧版本的pip和setuptools对PEP 660(新版可编辑安装标准)支持不完善,先执行升级:pip install --upgrade pip setuptools wheel确保pyproject.toml的构建后端配置正确
使用setuptools作为构建后端时,pyproject.toml里必须包含以下配置,这是PEP 660要求的基础:[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta"配置入口点的Shebang
你可以直接在pyproject.toml里指定生成脚本的shebang,避免手动修改:[tool.setuptools] # 指定脚本使用的executable,适配当前激活的venv executable = "/usr/bin/env python" # 配置入口点(根据你的实际模块结构调整) [tool.setuptools.entry_points] console_scripts = [ "your_script = your_package.module:main", ]激活venv后再执行安装
确保安装前已经激活了你的虚拟环境:- Linux/macOS:
source venv/bin/activate - Windows:
venv\Scripts\activate
然后执行pip install -e .,新版本pip会自动将入口点安装到venv的bin目录下,而非用户的.local/bin。
- Linux/macOS:
如果调整后仍有问题,可以检查pip的全局配置(比如是否默认启用了--user参数),但通常按上述步骤配置后就能解决你的问题。
内容的提问来源于stack exchange,提问作者Maxime Renault
相关产品推荐
相关产品推荐

