A beginner's guide to setting up Python on Windows
datanitro.com
datanitro.com
The unfortunate part of setting up Python on Windows, is that you're still coding on Windows and missing out on using and learning powerful Linux/Unix tools. Most servers operate using Linux, so having the same environment in development is a huge advantage.
If you need an invite, just signup and send us an email at hello at action dot io
I've found the easiest way it to point to 3rd party installers that often already have the key c-based tools you'll most often use. PythonXY, WinPython, PortablePython or Continuum's Anaconda. But you have to take the "bloat" with many of these, although PythonXY and WinPython allow you to select what you want and don't want.
(Don't get me wrong, by the way, props for helping out the often less technical Windows crowd.)
Other comments suggest https://store.continuum.io/cshop/anaconda which I haven't tried to compare, but also looks promising.
http://code.google.com/p/spyderlib/
I use it on both Windows and Linux.
For example, PIL doesn't support Python 3, but there's a GraphicsMagick wrapper [1] which does. Graphics Magick is more functional anyway.
You may have time invested in PIL and other Python 2 libraries, but newbies don't, and there's no reason to start them off on a dying version of the language. It's contributing to the chicken and egg problem that's holding Python back.
Someone who only knows Python 3 would have a hard time hacking on the source code of most libraries.
Another thing worth mentioning is "user site packages" directory for those on locked down corporate machines. Pip install --user <package> will pop the package in %UserProfile%\Python\Python2X\site-packages\ - which is automatically on your $PYTHONPATH saving a little setup hassle.
But you can do quite a bit from desktop application to the source of this post, DataNitro (Use Python in Excel).
> mostly use Visual Studio/.NET and just do Python on the side
I have nothing to back myself up, but I would be surprised if this is actually the case (ie most Windows users program with VS/.NET). I'd like to find out if there is any real data on this.
Whatever os you choose you just cant get wrong learning python , it is so awesome.
I've written GUI apps with PyQT where I developed them on Linux and had them run without change on both Windows and OSX. Similarly, I've done some web development on my Mac, deployed to a Linux server, and everything's worked.
On the other hand, IMO, developing on Linux is far easier and faster than developing on Windows, so there may be other benefits to using a VM.
If you're looking to learn it for any actual, practical application, e.g. any kind of development that will be deployed on the web or any kind of native system scripting, spending time setting it up on Windows is a waste of time you will need to spend at some point anyway learning to use an operating system that's actually suitable for such a purpose.
It's good that Windows users have the option of installing Python, I suppose, but something like this seems aimed at people who either are not actually going to do anything with or learn anything from it or are likely to simply give up after hitting the quirks and limitations of the platform.
A far more useful article that would accomplish the same purpose more effectively would be on setting up a free virtualization environment in Windows, then pointing people to the normal doc on using Python in some flavor of Linux.
My first Python program was automating .csv creation based off of a bunch of arbitrary files in a folder. I did it as a marketing intern, after spending an hour convincing my boss that I could save the company literally tens of hours of time a month. I did it on a Windows XP box.
A few months later, I changed my major to CS.
If we want more people programming -- and being good at it -- saying 'hey use Linux lol' is not the way to go about it. Especially in a corporate environment.
Also, your assertion that we (whoever that is) "want more people programming" is not one that I accept.
You are absolutely wrong about this. Being able to use Python & Django/Flask/PyQT/wxPython/numpy/matplotlib etc in a corporate environment is a huge win. I have deployed multiple Python applications (both Django & wxPython gui apps) on Windows platforms with great success. (I work in a large Canadian hospital FWIW).
Would I prefer to deploy on Linux? Absolutely. Am I delighted that I can still use Python at my Windows only day job? You bet.
at time of posting, the parent's user had 3.74 avg karma, but the comment was already graying-out relative to comments that were lower down the thread.
The procedure described is problematic due to the nature of the Python community, not any shortcoming of Windows.
Another reason is that Python is a great alternative to mathematical tools like MatLab, Maple, etc. And people's experience with these are most commonly in Windows. Having a python windows environment is key. I don't know how many people I've been able to get them to dump MatLab by showing them python and Spyder.
quote: If you're looking to learn it for any actual, practical application, e.g. any kind of development that will be deployed on the web or any kind of native system scripting
There's a lot more to computing than that. I personally have nearly zero interesting in web development at the moment.
The win32* libraries (as installed on a stock ActivePython .msi install) allow you to automate a lot of the windows platform, including a lot of the native api, implementing or controlling services, babysitting/killing/restarting windows tasks, talking to office applications, odbc databases, ... and I used it quite a lot to do automation tasks involving all these things.
Python is a very nice glue-language, not only on Linux. And I've used it to much advantage on Windows. I've
- talked to lab-equipment using provided .dlls (using ctypes) or serial ports (using py-serial)
- talked to other applications via OLE (querying some windows-only document management system and retrieving data, querying Excel to get data out, remote-controlling Word to fill in forms) to interface with the Windows-only crowd that is prevalent in big corporations.
- accessed databases over odbc
...and had most of my Unix-based tools, scripting know-how and methods (talking over network-sockets, using urllib, ascii-files, regular expressions) available to me, without resorting to ugly .bat-files, vb-script or vba.
Also I did some rudimentary UI development using wxpython.
I normally prefer coding under Linux, too, but I have to say, python under windows was not unpleasant at all.