python-guide
python-guide copied to clipboard
Addition of Poetry to "Using virtualenvs..." section
Hi there, thank you for all the work put into this guide so far!
Are there any discussions or plans to mention Poetry anywhere in this guide (I couldn't find any previous issues on this)?
Rationale
I think poetry solves a huge missing piece in the Python ecosystem. For any node.js developers, it is similar to npm and yarn. For many newcomers to the language, the way python does dependency management and virtual environments has a very high learning curve.
Poetry introduces (over traditional pip
based package management):
- A unified project manifest
pyproject.toml
containing dependencies and build information - Introduces a
poetry.lock
file that pins dependency versions (a better alternative thanpip freeze
IMO) - Avoids installing dependencies globally (poetry automatically creates a virtualenv and installs project dependencies there)
- Using
poetry run
executes commands automatically in the proper virtualenv context (no more needing tosource venv/bin/activate
)
And plenty more that I'm sure I am not listing here...
Limitations
As with any new technology, there are some limitations:
- Poetry is dropping support for Python 2.7 and 3.5 in the next release
- Lots of older tutorials and resources probably do not use it, which could confuse beginners even more
Thoughts on this? Would be happy to help contribute wherever I can.
agreed. PEP 518 has been out for more than 5 years
Is this guide up to date with Python best practices?