我最近安装了 Pyenv 和 Poetry,并想创建一个新的 Python 3.8 项目。我已将python的版本global
和版本设置为使用适当的 Pyenv 命令(例如)。当我在终端中运行时,输出符合预期。local
3.8.1
pyenv global 3.8.1
pyenv version
3.8.1.
现在,问题是当我使用 Poetry ( poetry new my-project
) 创建一个新的 python 项目时,生成的pyproject.toml
文件会使用 python 2.7 创建一个项目:
[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["user <user@email.com>"]
[tool.poetry.dependencies]
python = "^2.7"
[tool.poetry.dev-dependencies]
pytest = "^4.6"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
似乎 Poetry 默认回到 Python 的系统版本。如何更改它以使其使用随 Pyenv 安装的版本?
编辑
我正在使用与 Python 2.7 捆绑在一起的 MacOS。我认为这可能会导致这里的一些问题。我再次使用 Pyenv 重新安装了 Python 3.8,但是当我点击时,Poetry install
我收到以下错误:
The currently activated Python version 2.7.16 is not supported by the project (^3.8).
Trying to find and use a compatible version.
[NoCompatiblePythonVersionFound]
Poetry was unable to find a compatible version. If you have one, you can explicitly use it via the "env use" command.
我应该使用 Pyenv 为项目显式创建环境,还是项目应该能够在运行后访问正确的 Python 版本pyenv local 3.8.1.
?当我做后者时,没有任何变化,我仍然得到同样的错误。