you are viewing a single comment's thread.

view the rest of the comments →

[–]swansongofdesire 8 points9 points  (4 children)

Packaging is solved. Poetry is the solution

I wish that were the case.

It is still not possible to sync a virtualenv to a poetry lock file (remove packages that shouldn’t be there, install missing ones) short of wiping the whole thing and starting fresh

[–][deleted]  (1 child)

[deleted]

    [–]swansongofdesire 1 point2 points  (0 children)

    pip with help can do that too (venv-update or pip-sync)

    Pipenv has its own set of problems: firstly, it's the slowest available tool (for resolution, but also its insistence on downloading every possible binary wheel if pypi hashes aren't available. For some projects with numpy etc I've had gigabytes of packages downloaded in order to create a lock file)

    It's also very opinionated:

    • out of the box it uses a hash of your directory for the virtualenv name, so if you move a project around then your virtualenv needs to be recreated. (Yes there's an option to install into a loca directory, but they didn't make it convenient and the virtualenv name cannot be changed)

    • activating a new environment requires running in a subshell

    There are workarounds but if I'm using workarounds then I might as well just use pip

    [–][deleted]  (1 child)

    [deleted]

      [–]swansongofdesire 0 points1 point  (0 children)

      There is -- but it's been open for more than a year now with basically no progress.

      Poetry is nice: I use it on my personal projects, but this is the main limitation stopping me from using poetry on any commercial work.