You're asking that like it's special. Why is that? I mean, Python works great on Windows. Has an installer and all that; next next next finish. Package management is something of a hell (esp if you're used to ruby gems) but all in all it works fine.
I for one, prefer win as a dev platform, no matter the deployment platform. That means if the language of choice is Python, I use Python on Windows. I always assumed that this is rather common..
Most of the pythonistas I know are more or less evenly divided between Mac and various flavors of Unix. Windows users are somewhat rare, but present. I was curious if other groups have different profiles.
"Pythonistas" might not use windows, but a lot of programmers who work on Windows use python. Python on windows has been actively used at every place I've ever worked.
I was mainly just replying to the person claiming the pythonistas don't use windows. I've never met anyone claiming to be a pythonista so I don't know. I have however met lots of people who program on and for windows and who use python.
I never said pythonistas don't use Windows. I said few of the ones I know do and wondered if other people had different perceptions. Before moving to Linux, I did most of my Python programming using Windows.
Why would any programmer who isn't actually programming for Windows use Windows? Unless you're writing .net applications in VS, Windows isn't a developer-friendly operating environment.
This is what I do, Win7 for games, debian for work.
I like the dualboot nature as when in debian I have no excuse to startup a game and get distracted, when in windows I know I'm off work and I can relax.
Also having access to good command line tools is priceless - I'm not conversant with powershell, so maybe windows is good for this now, but being able to quickly grep/sed/awk/vi/etc is so useful.
I used to do that, but booting between two OS's was always kind of a pain and really Windows 7 generally just kind of works. I haven't booted into my Linux partition for month. For the times I need Linux there's vmware, but there are relatively few things that I can't get done on windows.
Server side on the other hand I'm all *nix all the time.
I also used to do that, but I landed on the other side - Linux generally just kind of works, and I dropped my Windows partition a couple of years ago. For the times I need Windows there's Virtualbox, but there are relatively few things that I can't get done on Linux. :)
<prejudice> I think that, these days, uniquely identifying oneself with just a single programming language is a bit like identifying yourself with a particular OS or computer. Most Windows users don't care much about this. They use Windows because it works best for them, not because they have t-shirts with Windows logos (or vice versa). The same holds for the choice of programming language. </prejudice>
Or more likely those Windows programmers don't know anything else but Windows and are unwilling to invest time to dig themselves out of the pit and see the light. To me a developer using Windows willingly has always been like an IQ test.
> Package management is something of a hell (esp if you're used to ruby gems) but all in all it works fine.
Wow. Ruby must have come a long way. Of course I gave up on it a long time ago when I couldn't find a good decompression library (only one that I could get to work was documented in Japanese).
I've found most python stuff "just works" or can be made to work.
Of course my use of Ruby dates to 2006 or so, as you can see that dates me quite a bit. I'm sure things have improved greatly over the years.
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.
I for one, prefer win as a dev platform, no matter the deployment platform. That means if the language of choice is Python, I use Python on Windows. I always assumed that this is rather common..