-
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 (
-vvvoption).
- 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 [email protected]"]
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 🥳