awesome pacakage manager: poetry
First, download poetry python file
> curl -sSL https://install.python-poetry.org | python3 -
Setting to create a virtualenv inside a project when installing a package
> poetry config virtualenvs.in-project true
> poetry config virtualenvs.path "./.venv"
Test to make project
- Make project
> poetry new poetry-test
Created package poetry_test in poetry-test
- Check directory
> ls -alh poetry-test
total 20K
drwxr-xr-x 4 lee lee 4.0K Jun 14 22:00 .
drwxr-xr-x 6 lee lee 4.0K Jun 14 22:00 ..
-rw-r--r-- 1 lee lee 0 Jun 14 22:00 README.rst
drwxr-xr-x 2 lee lee 4.0K Jun 14 22:00 poetry_test
-rw-r--r-- 1 lee lee 299 Jun 14 22:00 pyproject.toml
drwxr-xr-x 2 lee lee 4.0K Jun 14 22:00 tests
- Initialize packages
> poetry install && poetry update
Creating virtualenv poetry-test in /home/lee/workspace/python/poetry-test/.venv
Updating dependencies
Resolving dependencies... (1.0s)
Writing lock file
Package operations: 8 installs, 0 updates, 0 removals
• Installing pyparsing (3.0.9)
• Installing attrs (21.4.0)
• Installing more-itertools (8.13.0)
• Installing packaging (21.3)
• Installing pluggy (0.13.1)
• Installing py (1.11.0)
• Installing wcwidth (0.2.5)
• Installing pytest (5.4.3)
Installing the current project: poetry-test (0.1.0)
Updating dependencies
Resolving dependencies... (0.1s)
No dependencies to install or update
- Check the directory after installation
> ls -lah
total 32K
drwxr-xr-x 5 lee lee 4.0K Jun 14 22:04 .
drwxr-xr-x 6 lee lee 4.0K Jun 14 22:00 ..
drwxr-xr-x 4 lee lee 4.0K Jun 14 22:04 .venv
-rw-r--r-- 1 lee lee 0 Jun 14 22:00 README.rst
-rw-r--r-- 1 lee lee 5.9K Jun 14 22:04 poetry.lock
drwxr-xr-x 2 lee lee 4.0K Jun 14 22:00 poetry_test
-rw-r--r-- 1 lee lee 299 Jun 14 22:00 pyproject.toml
drwxr-xr-x 2 lee lee 4.0K Jun 14 22:00 tests
Remove project and clear poetry
Must be inside the project
- Check virtualenv
> poetry env list
.venv (Activated)
- Remove project
- Manually
> poetry env remove [virtualenv name]
> cd ../ && rm -rf ./poetry-test
- Easy way
> cd ../ && rm -rf ./poetry-test
vscode auto import(settings.json)
{
"python.venvPath": "${workspaceFolder}/.venv"
}