Перейти к содержанию

Virtual Environments and Packages

In my projects, I use the following tools to isolate environments and install packages:

  1. venv
  2. pip
  3. pip-tools
  4. Conda / Anaconda
  5. poetry
  6. Docker

My favorite set of tools — poetryDocker. 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