3 ms·
"Absolute disaster" seems strong. The situation doesn't seem too bad to me. I can pip install things and it works. I keep hearing that Python's packaging is so
by kbd 11y ago
"Absolute disaster" seems strong. The situation doesn't seem too bad to me. I can pip install things and it works. I keep hearing that Python's packaging is so bad, but I don't even know what the problems are.
- TylerE 11y agoTry that on Windows for anything with compiled C bits. Curse a lot. Give up on pip and use easy_install. Which works. Maybe. If you're lucky.
- oliwarner 11y agoOr give up on Windows and use a real OS. But seriously, mirror your production environment for local development and testing. This is all comically easy with VMs, you just need to alter your workflow.
- unfamiliar 11y ago> Or give up on Windows and use a real OS. If pip doesn't work on Windows then it shouldn't ship on Windows. This isn't Windows' fault.
- e12e 11y agoActually, I was very pleasantly surprised at how well pip+python3.4+visual studio (w/correct paths set up so that pip finds the compiler) worked. Granted this was recently, under windows 8.1 (tried it mostly for fun, and so that I have a decent calculator (ipython) on hand when I boot up in windows).
- gknoy 11y agoI'm glad I'm not the only one that uses IPython as a calculator. I might have to revisit trying to get it working in windows 8.
- e12e 11y agoI confess, I've only dabbled with venvs on windows (had to play along with the wonderful django tutorial created by/for djangogirls[1]). But my secret to working with pip on windows have been invoking it from inside python: install python (optionally set up a venv); then: import pip pip.main("install ipython".split()) of course, python for windows drops pip in the scrips-folder -- but doing everything from inside python is magically cross-platform :) Pip will drop ipython in the scripts-folder too -- so that where one can grab a shortcut. Or just (after restarting python): import IPython IPython.start_ipython() # Ed: not .start() [1] http://tutorial.djangogirls.org/ http://tutorial.djangogirls.org/
- vetinari 11y agoActually, distutils is looking for Visual Studio first in registry, then by env vars. So it should find VS without setting up anything. You just need to have correct version istalled (the banner in repl will tell you that, for example, for ActiveState Python 2.7 = VS2008, 3.x = VS2010). I was also pleasantly surprised, building python C extensions under Windows is easy. Building some of the C or Fortran dependencies, on the other hand, might be not.
- e12e 11y agoRight - remembered something about python giving me very nice error messages (probably over wrong version or 32bit vs 64bit) - along with pretty clear help on how to fix things. Just didn't remember exactly what small task (hit "y"/download+install - or set up env vars) I had to do to get everything to work. I do remember it was (for windows and c compilers) very easy.
- arocks 11y agoActually using wheels on Windows is a superior solution for most packages now.
- rm445 11y agoAgain as a casual user, I don't want to state anything too strongly, because some of it could be user error... but a few of the troubles I've had just trying to use and update Python in the last couple of years include packages from PyPI being broken and refusing to install; this including pip so pip was not able to update itself. Packages with dependencies that won't install from PyPI (or installation fails on my machine), sending you looking for tarballs. No clear route to upgrade between semi-major versions of Python. Things that install but need the config frobbing before they work - I'm not afraid of doing that but it's always a hassle. I think some of the problems were self-inflicted by trying to use Python on a Mac with no package manager, and on Windows. Things will get easier on the Linux side with Python 3 in repositories now. But it really seems like a fairly common pattern for languages / programming environments is to install the languages package manager and upgrade packages separately from the OS package manager. For whatever reason this seems like a bigger headache with Python than others.