Virtual Environments and Packages
In my projects, I use the following tools to isolate environments and install packages:
venv
pip
pip-tools
Conda
/Anaconda
poetry
Docker
My favorite set of tools — poetry
→ Docker
. This allows you to prepare compiled dependency files
separately for each stage of the CI process. There will be no unnecessary dependencies in containers. No need to
resolve some dependency conflicts.
In an evolutionary way, I developed the following set of service directories and files:
.
├── docker_entrypoint.sh
├── Dockerfile
├── .dockerignore
├── .editorconfig
├── .env
├── .gitattributes
├── .gitignore
├── LICENSE
├── MANIFEST.in
├── mkdocs.yml
├── .pre-commit-config.yaml
├── pyproject.toml
├── pytest.ini
├── README.md
└── setup.cfg — Setup Configuration File of the Python project.
The above directories and files can be viewed in my public repository. View code in GitLab