Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Package management is somewhat of a hell..."

What about it? There's a few packages (mostly C extensions) that don't always build right, but the only problems I've had using pip and virtualenv on Windows have been related to corporate proxies/DNS.



Well, for Ruby, if your program complains that it needs "somelib", i do "gem install somelib" and it works. In my experience, this holds 100% of the time, on Windows.

For Python, I have, afaik, 3 (and a half) options:

1) Use something called "easy_install". Installing "easy_install" is not at all easy, which means that the entire experience is somewhat, well, ironic.

1b) Something with "egg files". I never quite understood what these are or how to use them, but I believe they are somehow related.

2) Use something called "pip". If "pip" knows your lib, then all is fine, but if not, things are bad. Also, there are different versions of pip for different "builds" of Python, and I do not know which to use. Tools seem not to be able to figure this out for me. In at least one case I ended up having multiple versions of pip, installed through different means, because the one that came with Python (which afair is the case) was not the right pip version.

3) Google for the library to discover that there is an installer for it, instead of using one of the package manager thingos mentioned above.

Trying to install trac on windows, I had to use all 3 of the above options (not 1b). I forgot what for what, but it wasn't trivial.

As you can see for my story, which is probably full of incorrect details, I'm not an expert. But I'm no expert of ruby gems either, and when I use Ubuntu I'm no expert at apt-get. Why do I need to be an expert of all the four-ish python library distributions to be able to install a single program?


Now see, I've had the same experience with rubygems on Windows (couldn't find the installer, gem directories weren't where they should be, missing dependencies, etc). It's all a matter of being familiar with your tools. :)


I've never had a problem using pip on windows for packages written in pure python. For packages with C components, http://www.lfd.uci.edu/~gohlke/pythonlibs/ almost always has the latest up to date version. But yea I agree, they should fix it so that it's easier to compile C based packages on Windows.


I use installers for things I deem to be key packages (numpy, scipy, stuff like that) and use virtualenv and pip to set up project specific sets of packages. I really don't know what to do with egg files, I've never had to use one directly.

virtualenv really is the key to getting this working well.


Honestly, as a long time windows python user, I think the main mechanism for package management on windows are installers. In that sense they're both easy and also kinda non optimal, but for popular packages it generally isn't that big of a deal.


At least on the *nix side, virtualenv and pip do almost everything you'd need. If you're using easy_install to install anything other than pip, you're likely doing it wrong.


Try Activestates's pypm. It is a binary package manager so anything that might fail a pip install where compilation is necessary is already compiled for you.


easy_install / setuptools works pretty well for me.

Installing trac is non-trivial no matter what operating system you're using.


only problems I've had using pip and virtualenv on Windows have been related to corporate proxies/DNS

64 bit vs 32 bit package problems can be horrible, too.




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

Search: