Live data from Hacker News

My Python Development Environment, 2020 Edition

jacobian.org

71–80 of 241 posts

Re: My Python Development Environment, 2020 Edition

#72
post #39

I have never understood the need for all the different tools surrounding Python packaging, development environments, or things like Pipenv. For years, I have used Virtualenv and a script to create a virtual environment in my project folder. It's as simple as a node_modules folder, the confusion around it is puzzling to me. Nowadays, using setuptools to create packages is really easy too, there's a great tutorial on t…

You’re absolutely right. I use pipenv almost entirely because it can activate a local environment automatically when entering a folder in terminal. That and the fact that my virtual folder lives in ~/.local let’s me work directly in Dropbox. Nothing I couldn’t live without.

Re: My Python Development Environment, 2020 Edition

#73
post #31

Does anyone else think this reflects badly on Python? The fact that the author has to use a bunch of different tools to manage Python versions/projects is intimidating. I don't say this out of negativity for the sake of negativity. Earlier today, I was trying to resurrect an old Python project that was using pipenv. "pipenv install" gave me an error about accepting 1 argument, but 3 were provided. Then I switched to…

Yes. As someone who has never dove deep into python, but has had some contact with it: the package manager ecosystem is the #1 thing keeping me away from it. npm sucks and all, but at least it just works and doesn't get in my way as much.

What does npm do that python can’t? I’m curious.

Re: My Python Development Environment, 2020 Edition

#74

> Governance: the lead of Pipenv was someone with a history of not treating his collaborators well. That gave me some serious concerns about the future of the project, and of my ability to get bugs fixed. Doesn't seem fair. You're not abandoning requests, are you?

Requests made it to a stable, usable state. Sadly, pipenv never did.

Re: My Python Development Environment, 2020 Edition

#76

Is this developer actually relevant? Who cares what their stack is. It sounds like more marketing over substance. If the developer of click or flask explains their stack, yes, I will listen. Not sure why I care about a non-developer explaining hipster tools to me that are not what people are using.

You mean other than being one of the 3 original authors of Django?

Re: My Python Development Environment, 2020 Edition

#77

Is this developer actually relevant? Who cares what their stack is. It sounds like more marketing over substance. If the developer of click or flask explains their stack, yes, I will listen. Not sure why I care about a non-developer explaining hipster tools to me that are not what people are using.

...yes, this developer is relevant, lol

Is this comment just trolling? Load the main page of his site.

> I'm a software developer, co-creator of Django, and an experienced engineering leader. I previously ran teams at 18F and Heroku. I'm currently taking new clients through my consultancy, REVSYS.

Re: My Python Development Environment, 2020 Edition

#78

Earlier quoted context omitted.

Yeah I don't know a single person who chooses to use conda.

Conda is ideal if you need to support Windows environments with large, compiled scientific programming libraries.

So it’s niche.

Re: My Python Development Environment, 2020 Edition

#79
post #31

Does anyone else think this reflects badly on Python? The fact that the author has to use a bunch of different tools to manage Python versions/projects is intimidating. I don't say this out of negativity for the sake of negativity. Earlier today, I was trying to resurrect an old Python project that was using pipenv. "pipenv install" gave me an error about accepting 1 argument, but 3 were provided. Then I switched to…

The big gap is management of the full dependency tree. With yarn I can get a package.lock which pretty well ensures I'll have the same exact version of everything, with no unexpected changes, every time I run yarn install. I get the same thing in the Rust world with Cargo.

In Python it's a mess. Some packages specify their deps in setup.py; some in a requirements file, which may or may not be read in by their setup.py. It's not rare to have to have multiple 'pip install' commands to get a working environment, especially when installing fairly boutique extensions to frameworks like Django.

There just isn't a holistic, opinionated approach to specifying dependencies, especially at a project level. Which leaves unexpected upgrades of dependencies (occasionally leading to regressions) as a reality for Python devs.

Re: My Python Development Environment, 2020 Edition

#80
post #31

Does anyone else think this reflects badly on Python? The fact that the author has to use a bunch of different tools to manage Python versions/projects is intimidating. I don't say this out of negativity for the sake of negativity. Earlier today, I was trying to resurrect an old Python project that was using pipenv. "pipenv install" gave me an error about accepting 1 argument, but 3 were provided. Then I switched to…

To be fair, he says in the article that his requirements are somewhat different from most Python developers, to wit:

* "I need to develop against multiple Python versions - various Python 3 versions (3.6, 3.7, 3.8, mostly), PyPy, and occasionally Python 2.7 (less and less often, thankfully)."

* "I work on many projects simultaneously, each with different sets of dependencies, so some sort of virtual environment or isolation is critical."

Post reply on HN