Disclaimer: I am not an author of the PEP, just an interested observer

> This provides a very small subset of what Poetry does, and complicates the ecosystem even further. Should Poetry use that? Should it be an option?

Poetry or Pipenv could choose to target the __pypackage__ directory rather than manage virtual environments. They are higher level tools that lock dependencies and install those locked dependencies to an environment. That environment doesn’t have to be a virtual environment, it could be a directory (like the __pypackages__ directory).

> This doesn’t help with Python versions

It namespaces packages based on Python versions.

> will still use system packages (meaning something running on your machine might not run elsewhere, even though “you had a virtual environment”)

I agree that this is a problem.

> Is it meant to replace pip install — user?

This is TBD. pip will somehow have to know to target the __pypackages__ directory.

> (AFAIK Pipfile is standard now)

Pipfile is not a standard. It’s still being drafted and even still, there is discussion around a global lockfile format. See https://discuss.python.org/t/structured-exchangeable-lock-file-format-requirements-txt-2-0/876.

pyproject.toml is a standard (see PEP 517, 518), but doesn’t have a standard way of defining dependencies yet .

> Plus you still have to deal with setup.py/requirements/lockfile.

Of course you do. This is how one determines which dependencies should be installed.

Written by

Software engineer and open source developer https://github.com/cs01, https://twitter.com/grassfedcode

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store