【发布时间】:2020-05-05 16:40:15
【问题描述】:
我最近安装了 Pyenv 和 Poetry,并想创建一个新的 Python 3.8 项目。我使用适当的 Pyenv 命令(例如pyenv global 3.8.1)将 python 的global 和local 版本都设置为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 安装的版本?
编辑
我使用的是 MacOS,它与 Python 2.7 捆绑在一起。我认为这可能会导致这里的一些问题。我已经用 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 为项目显式创建环境,还是应该在运行 pyenv local 3.8.1. 后项目能够访问正确的 Python 版本?当我做后者时,没有任何改变,我仍然得到同样的错误。
【问题讨论】:
-
this issue 是否帮助您/澄清状态?
标签: python virtualenv pyenv python-poetry