【问题标题】:How can I specify which Python version poetry should create venv?如何指定哪个python版本的诗歌应该创建venv?
【发布时间】:2021-06-07 21:03:39
【问题描述】:

我最近开始使用诗歌。我真的很喜欢直接的包管理,但我似乎无法解决一件事。它应该使用的 Python 版本。我的机器上有 python 3.9 和 3.7。 3.7 在系统环境变量中的优先级更高 - 所以这可能是问题的原因。但是让我们回到例子。我的pyproject.toml 文件的一部分如下所示:

[tool.poetry.dependencies]
python = "3.9.2"
pandas = "^1.2.3"
requests = "^2.25.1"

我手动将python更改为3.9.2,使用poetry add添加pandas和请求,然后运行poetry install。我将virtualenvs.in-project 设置为true,因此在我的项目目录中创建了我的虚拟环境而没有任何错误。但是,当它被激活时,我可以看到它正在使用 python 3.7.9:

PS C:\pyprojects\***> & c:/pyprojects/***/.venv/Scripts/Activate.ps1
(.venv) PS C:\pyprojects\***> & c:/pyprojects/***/.venv/Scripts/python.exe
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

如果pyproject.toml python = "3.9.2" 不够,如何明确告诉诗歌使用精确的python 版本?它是否选择了第一个 Python 环境变量,在我的例子中是 python37?或者我在这里遗漏了什么?

【问题讨论】:

    标签: python package version package-managers python-poetry


    【解决方案1】:

    Poetry 无法使用pyproject.toml 中指定的版本自行完全管理 Python 版本。您可以使用pyenv 之类的工具来管理多个版本,也可以使用poetry env use path/to/python。如果 Python 3.9 在您的路径中,您可以使用 poetry env use python3.9poetry env use 3.9。你可以阅读更多关于poetry env usehere的信息。

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 2019-07-09
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      相关资源
      最近更新 更多