-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
- I am on the latest Poetry version.
- I have searched the issues of this repo and believe that this is not a duplicate.
- If an exception occurs when executing a command, I executed it again in debug mode (
-vvv
option).
- OS version and name: Linux 5.8.9-arch2-1 x86_64
- Poetry version: 1.0.10
- Link of a Gist with the contents of your pyproject.toml file: 👇
[tool.poetry]
name = "name"
version = "0.1.0"
description = "description"
authors = ["my-name my-name@mail.com"]
license = "BSD-3-Clause"
[tool.poetry.dependencies]
python = "^3.8"
[tool.poetry.dev-dependencies]
pre-commit = "^2.7.1"
pylint = "^2.6.0"
pytest = "^6.0.2"
pytest-cov = "^2.10.1"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
[virtualenvs]
create = true
in-project = true
Issue
Hello, I've been trying to make Poetry create the virtual environment folder in the project's root but it kept installing in home/leleco/.cache/pypoetry/virtualenvs
despite the configuration set in pyproject.toml
file.
After a few tries, I ran poetry config --list
and the output was this 👇
cache-dir = "/home/leleco/.cache/pypoetry"
virtualenvs.create = true
virtualenvs.in-project = false
virtualenvs.path = "{cache-dir}/virtualenvs" # /home/leleco/.cache/pypoetry/virtualenvs
This got me startled, so I tried poetry config virtualenvs.in-project true
, then poetry install
and it worked: a .venv
was created inside my project's root directory. I then tried the same, except that with virtualenvs.create
👇
# pyproject.toml
[virtualenvs]
create = false
in-project = true
And the result from poetry config --list
was this 👇
cache-dir = "/home/leleco/.cache/pypoetry"
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.path = "{cache-dir}/virtualenvs" # /home/leleco/.cache/pypoetry/virtualenvs
With this, I concluded that [virtualenvs]
does not work with pyproject.toml
(which was expected to me, as a user). Furthermore, poetry config virtualenvs.in-project true --local
creates a poetry.toml
instead of adding an entry in pyproject.toml
. 👇
# poetry.toml
[virtualenvs]
in-project = true
Is this expected? If so, I couldn't find the documentation explaining this... also, is there a chance that we convert this issue from Bug to Feature Request in case the described behavior is the expected behavior? I'm more than glad to update this description and convert it to a feature request with proper use-case description.
Thanks in advance,
Hope I can be useful to resolve this, or to implement this feature, somehow 🥳