Hacker News new | past | comments | ask | show | jobs | submit login

I don't want to be suspicious and negative but here is yet another needless dependency without any real value. mkvirtualenv is the best tool to manage venvs, pytest with pytest-cov to test and there is so much benefit to know original instruments but not some inferior wrapper. If you bothered by bugs in pip it's better to fix it in pip. All community will be grateful. But another wrapper is a complete shame.



I don't understand this mindset. There are millions of python developers using this language in for everything from from small shell scripts, web scrapers, to apps and. machine learning models.

Yet there is a monolithic additude towards tooling for languages, so much so that experimentation is actively discouraged. In my experience, there is no better way to level up as a developer than releasing and supporting an actual product that solves what you see as problems. Sure, you can contribute to existing projects, but you're going to learn a lot more if you are the owner. This experience, in and of itself, makes it worth it. I don't understand the existential fear and admonishment since the 'superior' tool will be most widely used. Also, there are many more developers today of all stripes and skill levels, more than enough to support the existing toolset, and others that like to play around and experiment with different projects for fun. This is somewhat how biological evolution works... lots of experiments(mutations), almost all are dead ends, but sometimes, that experiment leads to a wildly successful adaptation.

I only have about 4 years experience, but I've never understood this mindset. I see the value of having a primary toolset for a language, but don't see the value of having onw and only one solution. Can someone please explain to me its value?


I use Python daily and have never heard of mkvirtualenv. I started using pyenv a couple years ago and it worked well enough that I stayed with it. It's really a shame that there is no source of truth for packaging in the Python world.


mkvirtualenv is part of virtualenvmanager. I'm sure other ways are good, it's my favourite (along with it's peers rmvirtualenv lsvirtualenv).


I think you might mean virtualenvwrapper.


Nothing negative in pointing out the constant pattern of reinventing the wheel that has been damaging Python for more than a decade.


I agree as well. Conda tackles a few of the issues that OP is trying to solve.

https://conda.io/docs/


what are the differences between these things:

pip

easy_install

virtualenv

mkvirtualenv

pipenv

pyenv


Found a partial answer here (doesn't go into pip and easy_install, those handle installation, the others handle environment isolation) - https://stackoverflow.com/questions/41573587/what-is-the-dif...


pip: Python's official package manager

easy_install: Forget it existed, substitute with pip

virtualenv: A virtual environment, providing an isolated Python and libraries

mkvirtualenv: A script to create a virtualenv

pipenv: Combines pip and virtualenv into an integrated solution, comes with a Pipfile not unlike Ruby's Gemfile for example

pyenv: Script that helps to install and manage different Python versions on your system, so you can have the full range of Python 2.x and 3.x installed without them getting in the way of each other. Allows you to set local, default and system Pythons allowing you to switch your Python interpreter depending on which project/directory you're in


pyenv also has pyenv-virtualenv...


By itself, pyenv is only responsible for isolating python versions (e.g. 2.6, 2.7, 3.3. this would be like rvm/rbenv/nvm).

pyenv-virtualenv is a wrapper to allow pyenv and virtualenv to work together




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: