3 ms·
What does it do that ends up being a little too much for your use?
by bmer 11y ago
What does it do that ends up being a little too much for your use?
- danso 11y agoIt takes precedence in the path over everything...and in the last version I used (before I upgraded to OS X El Capitain and wiped out everything), things like `curl` were provided [1] ...which I completely understand for Anaconda's use case, but it caused a lot of confusing grief to me when I hadn't expected that and OpenSSL was having its rough times. I don't know if that's the case (curl being part of the package) now, with Anaconda 3 2.4.0+? It certainly isn't so when installed via pyenv, so I'm happy with that. But there were other issues in the past build...BeautifulSoup was inexplicably broken. I mean that it simply did not correctly parse non-trivial HTML pages and yet threw no errors. The results could be replicated for all of my students but I never could isolate the issue... I installed Python 3 and the same version of BS4 from scratch and had no problems, but I can't imagine where the Anaconda build would have gotten wrong. It ended up being OK since I just switched to lxml which I now happily use over BS4 on any day, but it was frustrating to not be able to diagnose the problem (I didn't get a response in the support forums either). I'm assuming this problem has gone away in subsequent versions of Anaconda though I haven't tried since lxml is perfectly fine to me. And finally...well, I have to admit it, but I use Python like a goddamned moron in that I still don't know how to use virutalenv/venv to do proper dev isolation. And from the brief research I did, I see that Anaconda has its own conventions, or work flow...something with the conda utility. Again, I can see why it's necessary for Anaconda's use case (people who want to do data science and not hand-tweak their environment every time they upgrade a package over pip), but it added too many layers for me at the time. [1] https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/XCSUmZbNqn4 https://groups.google.com/a/continuum.io/forum/#!topic/anaco...
- jackmaney 11y ago> And finally...well, I have to admit it, but I use Python like a goddamned moron in that I still don't know how to use virutalenv/venv to do proper dev isolation. I was the same way for quite a while, until I bumped into pyenv-virtualenv[1]. Just install that plugin, and you can do, eg, pyenv virtualenv 3.5.1 my-project to get a virtual environment called `my-project` based off of Python 3.5.1 (assuming that you've installed 3.5.1 via pyenv, of course). Or, you can just do pyenv virtualenv my-project to make a virtualenv called `my-project` based off of the current version of Python that you're using. Once you do that, pyenv treats `my-project` just as another installation of Python. In fact, `my-project` will show up in the list of installed versions (`pyenv versions`), and you can switch to it: pyenv global my-project (Or you can switch at the local or shell levels. Whichever.) And voila! You have your own virtual environment that can contain its own list of libraries. And no, I'm not a shill for the creator of pyenv, I just really like the software. [1]: https://github.com/yyuu/pyenv-virtualenv https://github.com/yyuu/pyenv-virtualenv
- danso 11y agoThanks for this...wrapping it up in pyenv is a lot more familiar to me. And why would you apologize for shilling for pyenv?...it's amazing :) (as is rbenv, its inspiration)
- jackmaney 11y agoYou're very welcome. And ehhh, I've been downvoted and bitched at about evangelizing pyenv before. Just thought I'd preempt that. But yes, it's an amazing piece of software. :) FYI, I've put together a bash function for my .bash_profile that adds an indicator to my prompt showing the current Python version/virtualenv in use[1]. That's saved me a bit of frustration when going into a directory where a local pyenv version overrides the global version. [1]: https://github.com/jackmaney/bash-profile/blob/ddb57091aab4425995c8d52466183ec421d6cc5b/.bash_profile#L21-L32 https://github.com/jackmaney/bash-profile/blob/ddb57091aab44...
- pyoung 11y agoA few years back I made the mistake of allowing Anaconda to prepend it's path to .bashrc without realizing it. I was a bit of a novice back then, but I had a number of existing projects in virtualenvs on my system and was rather upset when everything stopped working because my default python had changed. For those out there that would like to test out Anaconda but already have a lot of projects using their default installation, I would recommend using this installation guide to keep things separate: http://giusedroid.blogspot.com/2015/04/dont-let-anaconda-eat-your-python.html http://giusedroid.blogspot.com/2015/04/dont-let-anaconda-eat...