python-guide icon indicating copy to clipboard operation
python-guide copied to clipboard

Addition of Poetry to "Using virtualenvs..." section

Open hkennyv opened this issue 3 years ago • 2 comments

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 than pip 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 to source 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.

hkennyv avatar May 04 '21 17:05 hkennyv

agreed. PEP 518 has been out for more than 5 years

shatteredsword avatar Sep 24 '21 23:09 shatteredsword

Is this guide up to date with Python best practices?

akupac avatar Mar 13 '24 00:03 akupac