Python Hatch:"错误:包'hatch-demo'需要不同的 Python:3.10.5 不在 '<3.10,>=3.9'中


hatch new "Hatch Demo"
cd hatch-demo

在pyproject。设置:

requires-python = ">=3.9,<3.10"

我运行:

hatch env create

我:

ERROR: Package 'hatch-demo' requires a different Python: 3.10.5 not in '<3.10,>=3.9'

我通过Homebrew安装了Python 3.9和3.10。Python 3.9.13被设置为默认值。

python3 --version
Python 3.9.13

我如何解决这个问题,以便Hatch将使用Python 3.9。X在为这个项目创建环境时?

它与hatch一起工作的方式(据我所知)是(默认)环境独立于项目需求(那些用于构建软件包sdist/wheel/…)进行配置。默认情况下,它将使用在$PATH上找到的第一个python解释器(根据此),我猜在这种情况下是3.10.5。这与python可执行程序hatch本身是独立的。

解决方案是在pyproject.toml中告诉hatch使用哪个python版本来创建default环境,如官方文档中所述:

[project]
name = "myproject"
requires-python = ">=3.9,<3.10"
...
[tool.hatch.envs.default]
python="3.9"  # <--
# other optional environment configuration, e.g.
path = ".venv"
dependencies = [
"black",
"pytest",
...
]

为此,需要在系统上安装所请求的版本。也可以是python可执行文件的绝对路径。

然后发布hatch env createhatch run myfile.py应该创建一个具有正确python版本,项目依赖项和虚拟环境依赖项的虚拟环境。

您可以尝试强制执行hatch所使用的python解释器(我希望它随后用于env),如:

/full/path/to/python.310 -m hatch env create

相关内容

最新更新