Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blog post: deepency management tools in Python overview #19

Open
SamEdwardes opened this issue Dec 15, 2022 · 0 comments
Open

Blog post: deepency management tools in Python overview #19

SamEdwardes opened this issue Dec 15, 2022 · 0 comments
Labels
blog post Blog post ideas

Comments

@SamEdwardes
Copy link
Owner

SamEdwardes commented Dec 15, 2022

Posit write up

The Python version and dependency management can be challenging.

xkcd comic

Figure from https://xkcd.com/1987/

There is a rich ecosystem of competing tools. The plethora of options is good for innovation but can also make it challenging to decide which tools you should use. When starting any new python project, you must consider:

  1. What version of Python will I use (Python version management)?
  2. What third-party dependencies will I use (Python dependency management)?

In the following sections, we will dive into these questions and discuss the available tools.

State of python management ecosystem as of 2022

python version management

  • pyenv - "simple python version management"
  • conda - "package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, Fortran, and more"

python dependency management

  • pyenv-virtualenv - "a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)"
  • venv - standard library module for creation of virtual environments
  • poetry - "python dependency management and packaging made easy"
  • pipenv - "python development workflow for humans"
  • pip-tools - "A set of tools to keep your pinned Python dependencies fresh."

Note this list is not exhaustive. It will capture the most relevant and popular approaches as of 2022.

Helpful resources

Want to learn more? Keep on reading these docs and check out the valuable resources below:

@SamEdwardes SamEdwardes added the blog post Blog post ideas label Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog post Blog post ideas
Projects
None yet
Development

No branches or pull requests

1 participant