Should 'virtualenv' be preferred over Anaconda's virtual env for any reasons other than personal preference and experience? Are there any material differences between the two that make one or the other infeasible for professional Python development?

I am particularly interested in which type of virtualenv manager I should push for adoption within the company I work for - I want to answer this question early on to avoid any possible headaches down the road.

I use Anaconda's virtual environment and it serves my needs very well. I find it much easier to use, activate, deactivate, manage than virtualenv.

However, I've read in some places that virtualenv is preferred over Anaconda's virtual env, and the logic is almost always "trust me on this for now" or it is a preference. Any color would be appreciated.

  • Sounds "primarily option based". Can you try to rephrase it to make on topic by tell us what features you require, and then we can recommend one or the other. Failing that, you might try asking at another SE site. – Mawg says reinstate Monica Jul 12 '18 at 12:39
  • 1
    If it is primarily option based, then I think that is the answer. This is the answer I was looking for. I don't know why we'd need to move it to another site... seems fine as is. – Scott Skiles Jul 12 '18 at 13:59
  • Well, most of the tech based sites do not permit opinion based questions, so if you any they are likely to get closed. A word to the wise for the future. I see that you accepted an answer though, so all's well that ends well :-) – Mawg says reinstate Monica Jul 12 '18 at 14:19

Anaconda is a distribution of Python packages mainly focused on data science that includes things like SciPy, NumPy, Pandas, and other popular python tools, along with conda (>500Mb). Miniconda is just conda and its dependencies (~35Mb). Like pip, conda is a package manager, with the added ability to manage environments. Conda can install packages for other languages, not just Python. It supports many packages, and those available with pip and not with conda can be installed with pip and conda will know about them.

I do not have any personal experience with conda, and have found virtualenv to be suitable for all my needs. It allows me to run both Python 2 and Python 3 easily, and on most of my projects I have a devtools directory in which I keep the relevant virtualenv. That being said, environment creation/deletion seems to be more streamlined in conda.

What are your sources that prefer virtualenv over conda? Conda is a well-trusted, well-supported tool that provides the environment-managing functionality you need, and you seem to already prefer it over virtualenv, and there is no reason that conda should not be used in a professional development environment. Just don't install Anaconda if all you need is Miniconda.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.