Anaconda 5.0 Released
anaconda.com
anaconda.com
Seems like a weird regression 16 years after Windows XP shipped with "My Documents".
I used Anaconda for a while, but I've since moved back to CPython. Most packages install fine on Windows using pip now, and the ones that don't is just a download away from http://www.lfd.uci.edu/~gohlke/pythonlibs/. Using the standard Python distribution is also nicer because of the python launcher, and it makes .py files executable like .exe and .bat.
Lots of software breaks with spaces though, and isn’t practical to patch at the distribution level. If you’re unfortunate enough to be using spaces, file issues with the upstream when things break and let them know.
Interesting though, that 6 years ago they reverted back to simply "Documents".
In modern windows, essential user paths no longer need have spaces in them. The persistence of "Program Files" and the hilariously tricky "Program Files (x86)" are notable however.
C:\Program Files\Python 3.0\ vs C:\bin\python3
(when I was using windows, I installed python in c:\bin because I knew I would be typing it quite a bit)
cp ${FILENAME} /tmp
Here you should have done:
cp "${FILENAME}" /tmp
Also, GNU make, still one of the cornerstones of building C and C++ libraries (since CMake and Autotools most commonly use that backend) cannot handle spaces in paths at all well.
Though as @kalefranz said already, we do allow it on Windows, we just warn loudly.
The shell is deciding whether something is one arg or more, and passing the arg list to the tools.
[0] https://stackoverflow.com/questions/14718720/how-can-i-scp-a...
Anaconda have removed the ensurepip module (part of the standard library since 3.4) which is used during the venv creation to install pip. PEP 453 explicitly recommends that "Even if pip is made available globally by other means, do not remove the ensurepip module in Python 3.4 or later." to ensure that the `venv` module works as expected.
The lack of an `ensurepip` module means that trying to create a venv with `python3 -m venv my_test_venv` gives an error of:
Error: Command '['/home/milliams/my_test_venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
People say that this is ok since `conda` is better but I don't want to have to teach my students the standard tools for Python module development only to have to say "except if you're using Anaconda...". Especially since the really shouldn't have to know what distribution they are using. It should be an implementation detail.Since when? I was under the impression it's a data science focused alternative to the standard tools(pip, venv module, eventually pipenv).
The sheer amount of complex dependencies and possible errors between build-time configuration and run-time libraries is vast. Anaconda helps people steer clear of a large amount of them, and that is why it's so popular.
NumPy (and I think SciPy) used to be standard Windows installs (as in download an exe and install it). Pandas was too, but now you can use pip. The only catch was that you should install 32 bit python instead of 64 (not sure if that's still the case).
For me, condo is good solution to install necessary dependences with little pain.
Also check out the JupyterLab alpha which comes with this, which is very neat:
https://channel9.msdn.com/Events/PyData/Seattle2017/BRK11 (demo starts around 15:00)
This makes Dask (pure Python paralleization) run 20% faster https://twitter.com/mrocklin/status/923581208482721794 according to Matthew Rocklin, the main developer
If anyone feels like it, you can run `conda create name=trycondanode --channel amfarrell nodejs=6.6.0`
MKL is also multicore parallelized out of the box.
Not sure if Accelerate is multicore ootb?
Couple this with good support for Windows too, and it's basically the only usable cross platform Python version manager... kind of sad all this functionality is not baked into core CPython's package, it would make language adoption 10x easier since "multiple python madness" is what trips newbies, especially if they use Windows or a Linux they don't administer themselves...
Also nicely optimized precompiled stuff, again, for the benefit of new Windows users, for which anything that needs compiling anything has a 50% change of breaking.
A good point about a known stack.
Even if you are a working on an island and you fully control your own dev and production environments, there are myriad subtle divergences between the build toolchain on Linux and BSD/Darwin that can trip you up.
That version is patched to fix previous incompatibilities.
The "miniconda" installer variant is something I even use in production when on the same server I need to run microservices one written fro Python 2.4, another for Pythn 2.7+, another for Python 3.3, another for Python 3.6+ etc.
Really, anyone doing Python should embrace conda envs - they are awesome and allow skipping the entire "Python 2 or 3" useless discussion and replacing it with "just use whatever python you want", just specify it clearly... The whole "2 vs 3" incident would never even have existed if people people would've had something like Node's NVM or Ruby's RVM, and "conda envs" it's basically this, only that it combines support for its own special package formats with this.
I don't really like having to depend on the system's python binaries and their packages, but I don't want to compile my own either. But I do know most people would violently disagree with me on this :)
(I just happen to be both incredibly lazy and a control freak at the same time :P...)
What is this "2 vs 3" incident and how would a better version manager solved the problem of Py2 packages not migrating to 3?