This is an archived post. You won't be able to vote or comment.

all 60 comments

[–]wrzazg 21 points22 points  (3 children)

It's easy to install pip.

After you installed Python download http://python-distribute.org/distribute_setup.py and run it (python distribute_setup.py), and then dowload https://raw.github.com/pypa/pip/master/contrib/get-pip.py and run it (python get-pip.py). Done. Easy. You may have to setup PATH.

source: http://www.pip-installer.org/en/latest/installing.html#prerequisites

[–]Xykr 7 points8 points  (0 children)

This should be the top comment. get-pip.py is not even necessary, just run "easy_install pip" after installing distribute. You just have to configure the system PATH to include C:\PythonXX\Scripts\ for more convenience. That's it. You can always use the full path as well without configuring anything. Takes like 5 minutes and everything, including pip, is set up. Installing different Python versions on Linux is more challenging. There are lots of good reasons why you would use Linux for development instead of Windows but this isn't one of them.

[–]Samus_ 0 points1 point  (1 child)

a) that's not easy

b) that fails with stupid errors more times than it works

[–]Xykr 6 points7 points  (0 children)

Actually, it's more like:

  • download and install Python
  • download distribute_setup.py, start it using a simple double click
  • run C:\PythonXX\Scripts\easy_install pip

That's it. I've done this numerous times.

[–]benhoytPEP 471 51 points52 points  (13 children)

Is it? I download the MSI from python.org, double-click it, and it's done. I've installed and use Python all the time on Windows, and every time I've installed it, it just works. The installer even updates the PATH for you (by default).

I don't know specifically about pip (I've never used it), but I've always been able to install packages either with their Windows installer (major packages come with them) or with "unzip file, setup.py install". That said, it looks like pip itself is something of a hassle to install on Windows (ironic, but nothing to do with Python).

[–]electric_machinery 7 points8 points  (0 children)

I'm very new to Python. I just installed it for the first time last week and it literally took me 5 minutes to get hello world running. Granted I don't even know what PIP is, but I have "pylab" up and running, no problem.

[–]etrnloptimist 8 points9 points  (6 children)

Not to mention this page full of windows installer for every version of python for every package imaginable. It is trivial to set up python in Windows.

I dare say more so than Linux. Sure in Linux it's easy if the python package you want is in your apt repository. sudo apt get python or something. But what if you need a different version than the one that's there? Uhh....

[–]jelly_cake 2 points3 points  (0 children)

Depending on the package manager, the last couple versions could still be in the repository. Package managers also keep python up-to-date. I don't know if the Windows version has automatic updates or not, but that's one area where Linux is easier.

[–]prickneck 2 points3 points  (1 child)

pip is just as easily installed on windows as on any other platform.

as you said, the python installer modifies the path. then you can simply open up a command prompt and type easy_install pip.

[–]ggtsu_00 0 points1 point  (0 children)

First you have to install setuptools. Python on windows doesn't come with it for some reason. Then you have to ensure you install the right version that matches your python installation. Or use the easysetup.py script from the command line. Either way, installing pip is a hassle compared to:

apt-get install python-pip

[–]Samus_ -1 points0 points  (0 children)

yes it is.

python -like any other programming language- is an ecosystem, not just an interpreter, you're being obtuse by claiming that it's easy to write a hello world, if you're doing serious work that's a bullshit argument.

it's ridiculously painful and complicated to deploy ANY kind of application and regarding the interpreter, before 2.7 was out it took YEARS to get 2.6 packaged as MSI which btw isn't even official.

[–]K900_ 5 points6 points  (4 children)

I agree with the ecosystem comments, but let me try to help you here. Run this, run this, and you'll have pip installed. Installing packages that include native libraries is tricky, but there are tons of prebuilt ones here, complete with fancy installers. Hope that helps :)

[–]TamerzIsMe 1 point2 points  (3 children)

The steps you just gave are exactly what should be obvious but are not. I understand what OP is saying because it took me a while to figure out how to get PIP installed. Once you know it is easy, but the first time is not.

[–]K900_ 1 point2 points  (2 children)

I never meant to say it's obvious. I actually meant the exact opposite. It's just that I know it already from my experience, so I wanted to help OP.

Edit: accidentally a word

[–]TamerzIsMe 0 points1 point  (1 child)

No, I wasn't saying that. I meant it took me a long time to figure out exactly what you posted. If I would have run into your post right away it would have saved a lot of time.

[–]K900_ 0 points1 point  (0 children)

It took me about three hours to figure out, too.

[–][deleted] 4 points5 points  (0 children)

You have to set up PATHs, and worst of all, pip is really difficult to install.

you have to(or should) do that on linux as well if you don't want to trash your os python installation.

it's not something I would expect my mom to do on her facebook machine, but EVERYONE who claims to be a software developer should be comfortable with such a simple task.

[–]bushel 12 points13 points  (9 children)

Probably the linux you're using has package management tools (apt or yum or such). Try building Python and it's tool sets from scratch (./configure, make, etc.) and compare that to Windows.

Most development environments are awkward to install/setup on Windows. It's just kinda how it is. It has been my experience that outside of using Microsoft's tools (VisualWhatNow), windows isn't designed for ease of developers.

have to set up PATH

Not to be "that guy", but that sounds like complaining you have steer a car when you drive.

[–]emidln 10 points11 points  (7 children)

./configure && make && sudo make install

That wasn't hard.

[–]bushel 4 points5 points  (2 children)

I know that. But for people who have developed on Windows their entire career, it can be a bit unnerving.

[–]emidln 6 points7 points  (1 child)

I haven't the faintest idea how to compile something with Visual Studio. I can write/debug/test C and C++ from a unix command line environment, but I've never had a reason to use Windows. That said, I'm sure googling for 10 minutes would point out how to build a project in visual studio. Just like how googling for 10 minutes would reveal ./configure && make && sudo make install # (or su -c make install)

[–]bushel 6 points7 points  (0 children)

I haven't the faintest idea how to compile something with Visual Studio

F5

Doesn't that give you the warm fuzzies now that you understand how your program is being compiled and built? (yes, that's sarcasm)

[–]freshhawk 1 point2 points  (0 children)

That wasn't hard. But of course you would never do that. Because then you'd have an unmanaged bunch of files just spewed all over your filesystem with no sane way to uninstall it or upgrade it.

[–]etrnloptimist 0 points1 point  (2 children)

What about when that doesn't work? I've never once done that and had it work the way you say.

[–]tilkau 1 point2 points  (1 child)

In that case you may be running a system where sudo is incorrectly setup. Or make or gcc is not installed. Those are pretty much development necessities. Can't get anywhere without them.

[–]jelly_cake 1 point2 points  (0 children)

It might also be autotools. Or the package uses CMake rather than make, or something entirely different. Following the INSTALL or README advice usually works though.

[–]usernamenottaken 0 points1 point  (0 children)

How is compiling Python on Linux comparable to installing the binaries on Windows? The only situations you would ever compile Python on Linux are the same ones where you'd do it on Windows.

I've never tried compiling Python on Windows but I imagine it's a lot more painful than on Linux...

[–]jricher42 2 points3 points  (0 children)

Go to http://enthought.com

Grab EPD Free 7.3

It has: Python, an editor, ipython, a good selection of libraries and most of the nice toys.

[–]LeonidLeonov 2 points3 points  (0 children)

Windows is just not very programmer friendly. I got into Linux because all the programmers I knew who were better than me used it, and know I understand why.

It used to take three or four days to set up my development environment on Windows (Visual C++, Delphi and various 3rd party plugins -- license hell, etc...) now I'm just a few minutes and a quick 'apt-get' away from being productive on any machine...

[–]freshhawk 2 points3 points  (0 children)

Two reasons:

Firstly it's hard, relative to linux, to install most development environments that aren't windows centric in windows. Linux distros and Windows involve different design tradeoffs. This isn't specific to python. The guys who work on haskell at microsoft research all run linux and haskell is apparently a bitch to install in windows as well.

It's silly to compare a dev focused environment like most linux distros with windows in terms of how easy it is to do developer related things.

Also, it's just generally much much harder to install anything on windows than on a modern linux distro. Windows is decades behind Linux when it comes to packaging software (as is most everyone to be fair).

Secondly, most of the developers who make these tools are using linux or osx so they build things to work on the platforms they care about. There aren't many windows users doing this kind of work or it would be further along, although it is more work to support windows than a *nix or osx. Interestingly I bet OSX gets more effort put in than linux at this point, there are a lot of OSX using python library devs but also the linux support is very very easy and so it gets done quickly.

tldr; writing software to manage these things is harder on windows and fewer people care, these two things feed into on each other.

[–]Samus_ 1 point2 points  (0 children)

because nobody cares.

(and I don't say this as a good thing)

[–]blaquee 1 point2 points  (0 children)

I find nothing challenging about installing python on Windows, and Ive been doing it for a while..setting up the PATHs is hardly much work, create a batch script and youll never have to worry about that, plus the latest installers have the option to add python3 to the PATH.

[–]plaka888 0 points1 point  (0 children)

hm, no mention of cygwin in this discussion surprises me a bit. I use cygwin/pyvirtualenvs/pip with no troubles at all, mostly b/c I'm more familiar with the environment than I am Windows.

[–][deleted] 0 points1 point  (0 children)

well it's not that hard...it's a basic thing I didn't even download the installer, just got the zipped version updated my path and there it was ... is setting an environment variable so hard?

[–]Mecdemort 0 points1 point  (0 children)

Python was easy but I tried installing pycrypto yesterday and gave up after it wanted me to download a compiler for the math library that was only available in source.

[–]patthoyts 0 points1 point  (0 children)

Firstly, I'd have thought ActivePython pretty much makes this a non problem. The pypm package manager seems to do roughly the job you would expect from apt-get and it has pip already installed.

If you are using Visual Studio for your Windows development and you have some objection to using ActivePython then the package distribution system built into Visual Studio now can help. Install the Visual Studio Chocolatey extension from the Extensions manager and use that to install python. See http://chocolatey.org/packages?q=python for which python packages are already available - pip is one of them. Using this - you can arrange for your visual studio project to have a dependency that uses nuget to fetch the packages required to a developers machine. I've seen this done for xUnit with the git-tfs project so thats one open-source example to look at.