6 ms·
I use pipenv,and it works well enough for what I'm doing, but in reality the problem is that python just isnt designed to be distributed. There are various tec
by dec0dedab0de 6y ago
I use pipenv,and it works well enough for what I'm doing, but in reality the problem is that python just isnt designed to be distributed. There are various techniques each with their own pros and cons, but the only consensus is that it's a pain in the ass.
- mettamage 6y agoWhat are the tradeoffs vs using docker? Just curious.
- fuhrysteve 6y ago> What are the tradeoffs vs using docker? Just curious. Probably some combination of memory usage and complexity, depending on your application. If you're already familiar with using docker as a development environment, definitely go for it. I don't use pipenv, I'm still using plain old virtualenv for development. Mostly it's just a matter of familiarity. If there's not an itch, why scratch?
- dec0dedab0de 6y agoDocker uses more resources, and is trying to isolate your code from the rest of thr computer. It also has a higher learning curve. Virtual environments are just separate copies of python with their own libraries installed. Pipenv is basically just a workflow for organizing virtual environments I can give someone a repo and tell them to type pip install pipenv && pipenv sync and they'll have everything. Assuming they already have the correct version of python installed, which is one nice thing docker handles, but it is easy to install python these days so it hasnt been an issue. My biggest problem with docker was that I ended up using a ton of storage just learning about it. I have a feeling that was mostly my own fault, maybe using too heavy of a base image. I've been trying it out once or twice a year for about 6 years now, every time my conclusion is "wow this is really cool, I wish i could justify spending more time to get it right" Though docker and virtual environments share the same problem, in that they are just a way for a developer to distribute code to other developers, and to production environments. Distributing python applications to end users is a totally different issue. I floated the idea of sending out a local data collection* app to Mac and windows users mostly because I think it would be fun to try. *data collection of troubleshooting information from users within the same company on company hardware, that are actively asking for help. I'm not trying to spy on people.