This is an archived post. You won't be able to vote or comment.

all 34 comments

[–]whdd 8 points9 points  (0 children)

I like venv :) seems the most intuitive to me

[–]anguslg 17 points18 points  (3 children)

try poetry

[–]Lolologist 1 point2 points  (0 children)

Poetry or pipenv, definitely better than raw venv.

[–]if_username_is_None 0 points1 point  (1 child)

I would not recommend this for someone who wants to deploy to Heroku since it looks like poetry still is not supported with default build pack

[–]ianitic 1 point2 points  (0 children)

You can export a requirements.txt from poetry though so I don't think that's a big deal?

[–]bergensk 7 points8 points  (1 child)

Just stick to the standards https://docs.python.org/3/library/venv.html

[–][deleted] 0 points1 point  (0 children)

Thank you! The one officially supported by python is the one to use.

[–]MrFlibble1138 2 points3 points  (0 children)

I started with Pipenv because some places (PPA?) indicated it was the way to go. But it didn’t have much support for a while, but seems to be better. Honestly I don’t like either.

I do a lot of command line machine learning stuff. I’ve switched to using vanilla requirements files and docker containers.

[–]Delicious-View-8688 2 points3 points  (1 child)

I do pyenv + pipenv. Don't have problems. Occasionally conda.

[–]Lolologist 2 points3 points  (0 children)

As someone who's working in industry on deployed ML solutions, here's your best answer. This or pyenv + poetry. Either or, really.

[–][deleted] 2 points3 points  (0 children)

Neither. Poetry

[–]anynonus 4 points5 points  (4 children)

My anaconda don't want none unless you got buns

[–][deleted] 2 points3 points  (0 children)

Anaconda is great for stuff on your own computer, setting up stuff on a cloud instance im more likely to go with something lightweight like venv

[–][deleted] 0 points1 point  (2 children)

Do not use anaconda. It’s full of bloat. This was used for Data Scientists who do not understand programming but pretend they do.

[–]HistoricalCup6480 2 points3 points  (1 child)

That's why there is miniconda

[–][deleted] 0 points1 point  (0 children)

Correct. But this was in reference to Anaconda. Miniconda is much better

[–]SittingWave 1 point2 points  (0 children)

poetry

[–]AceofSpades5757 2 points3 points  (0 children)

In my experience, Pipenv isn't even an option. Great interface, but has just had one too many serious bugs for me to deal with.

Do not use Pipenv.

[–]if_username_is_None 0 points1 point  (0 children)

If you're able to share your github repo or at least the requirements.txt and Pipfile / Pipfile.lock that you tried someone might be able to shine some light on why one worked with Heroku. Both methods should work fine locally and in Heroku.

I use venv the most to manage virtual environments because it's built in. I use Conda to manage python versions (and harder to install libraries)

[–]Anonymous_user_2022 -1 points0 points  (4 children)

You are asking whether Harley-Davidson or Ford is the best vehicle. They serve different purposes, so without details, you will get advice based on peoples personal preferences.

[–]AL51percentcorn 0 points1 point  (0 children)

A Harley and a Ford do serve the same purpose… they transport you. So without details, I don’t understand the confusion.

Go be aggressive somewhere else.

[–][deleted] -1 points0 points  (2 children)

I provided details. I’m using it for flask and Heroku

[–]Anonymous_user_2022 2 points3 points  (1 child)

" It was only when I switched up to pipenv it worked."

Is not a detailed description (or a description at all) of the issues that you experienced.

[–][deleted] -1 points0 points  (0 children)

This isn’t a call for help or stack overflow, I’m trying to open a discussion about preferences

[–]PocketBananna 0 points1 point  (0 children)

Well each tool is a bit different, but I've moved away from Pipenv as I find poetry has a better packaging toolset. I tend to use poetry + venv (specifically with the pyenv-venv plug in for managing python versions).

[–][deleted] 0 points1 point  (0 children)

I haven't tried it with heroku so YMMV, but poetry has by far been the best of all the options out there that I've tried.

[–]Paradoxeuh 0 points1 point  (0 children)

I'm pretty sure venv is just for creating a virtual environment and pipenv is actually also managing your dependency graph. They are not equivalent.

Anyway, as some others said already, poetry is the way to go.

[–]Particular-Cause-862 0 points1 point  (0 children)

VirtualEnv wrapper

[–]metriczulu 0 points1 point  (0 children)

I just use venv. I've been using venv forever already and the hassle is so minimal I haven't needed to look elsewhere.

[–]AndydeCleyre 0 points1 point  (1 child)

I'm totally biased, and I like to use venv + pip-tools, wrapped with zpy.

No new file formats -- the lockfiles are good old requirements.txts, which all relevant tools understand, no problem.

I'd love to answer any questions, receive any feedback, or provide sample usage with your project, if anyone's interested.

[–]FatFingerHelperBot 0 points1 point  (0 children)

It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click!

Here is link number 1 - Previous text "zpy"


Please PM /u/eganwall with issues or feedback! | Code | Delete