Michał Wodyński - Difficulties of Python code development:packages,virtualenvs and package mangers

Learn how to overcome the difficulties of Python code development by mastering package management with virtual environments, package managers like pip, pyenv, pipenv, and poetry, and tips for simplifying distribution and installation.

Key takeaways
  • Python code development is difficult due to package management complexity
  • Virtual environments can isolate dependencies and ensure reproducibility
  • pip is not resolving dependencies and has issues with installing specific versions
  • pyenv is a convenient and reliable way to manage Python versions
  • pipenv is an alternative to pip that resolves dependencies
  • poetry is another package manager that resolves dependencies faster
  • It’s recommended to use pyenv to manage Python versions and poetry to manage dependencies
  • Conda is another package manager that can be used, especially for non-Python packages
  • Using virtual environments with pyenv and poetry can simplify package management
  • Creating packages with setuptools can be time-consuming and error-prone
  • Building packages with wheels can simplify distribution and installation
  • The Python community has many choices and implementations, leading to confusion
  • It’s important to choose the right package manager and version of Python for the project