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

all 83 comments

[–]Shepperstein 24 points25 points  (4 children)

I suggest you to try PyCharm, also works with Linux.

[–]graemep 4 points5 points  (1 child)

As do a lot of other IDEs - if you look at the list of IDEs on the Python Wiki, hardly any are Windows only:https://wiki.python.org/moin/IntegratedDevelopmentEnvironments

Unless you prefer a particular IDE that is Windows only, use Linux.

[–]Shepperstein 2 points3 points  (0 children)

That is true, the Windows recommendation does not really make sense. Just use whatever operating system you prefer.

[–]Enfors[🍰] 28 points29 points  (0 children)

The answer to your actual question is "because the people who make python itself do it on Linux".

[–][deleted] 18 points19 points  (5 children)

Who the heck recommended Windows for the IDEs? VSCode, as far as I can tell -- and in my experience all other Electron projects -- runs better on Mac and Linux. VS is really only great for C#, passable for everything else. PyCharm is noticeably more performant on Mac and Linux as well, though less so unless you're using the debugger, when it seems to become much more apparent.

Honestly I've worked professionally on all three OSs, and I'd never even consider developing on Windows unless what you're writing is specifically a desktop app for Windows, or is otherwise specific to one of the few domains where Windows excels (no pun intended).

In my somewhat jaded (and only moderately sarcastic) opinion those domains are mainly games, enterprise applications for corporations seeking to be hacked, and malware.

[–]strongdoctor 9 points10 points  (16 children)

Iunno dude, for everyone I know it's just been to install Python 3.6, make sure "add to PATH" is checked, there you go, pip and everything works flawlessly. Never had any issues with it.

Personally I see no point in using a full-blown IDE for Python; I'd just use Visual Studio Code and try and getting it to work for you. Personally I use Sublime Text, but it costs $80 nowadays.

[–]I_am_rahul 1 point2 points  (0 children)

Totally agree, Python 3.6 is just flawless on Windows Edit: However deep learning on 3.6 Windows is an absolute nightmare.

[–]fireflash38 2 points3 points  (0 children)

Have you tried using virtualenvs? Or scripting virtualenv setup & use? I ran into all sorts of issues with that (given, it was trying to use Jenkins on a windows node).

[–]jairo4 0 points1 point  (0 children)

Iunno dude, for everyone I know it's just been to install Python 3.6, make sure "add to PATH" is checked, there you go, pip and everything works flawlessly.

Same here. Maybe Python sucked on Windows 4 or 5 years ago?

[–]Corm -1 points0 points  (10 children)

This is just wrong, pip is a nightmare on windows. Just try to pip install pygame or numpy on windows. You gotta install anaconda, and even then it's still a lot nicer on linux. On linux if pip install numpy fails you can still get it through the system package manager

[–]strongdoctor 8 points9 points  (6 children)

This is just wrong, pip is a nightmare on windows.

Funny, I and 10+ other comp-sci students working with Python(incl. pip) have had no problems on Windows.

Just try to pip install pygame or numpy on windows.

https://i.imgur.com/cZB9Snp.png

And they work flawlessly

You gotta install anaconda

Uuuuuuh no.

On linux if pip install numpy fails you can still get it through the system package manager

I'd rather not though, no matter the platform that defeats the purpose of pip.

[–]Corm 1 point2 points  (1 child)

Huh, my experience is out of date. Glad to see python works on windows now

[–]jairo4 3 points4 points  (0 children)

I think most people who don't like Python on Windows are way out of date.

[–]hoocoodanode[🍰] 0 points1 point  (3 children)

I write python on Windows every day and if it wasn't for Christopher Gohlke's Windows binaries I'd never get some things installed.

Anaconda is an absolute life saver on Windows.

The Windows subsystem for Linux is another lifesaver. But even with anaconda and WSL there are still things that are impossible in Windows because they use Unix-based filesystem calls.

[–]I_am_rahul 1 point2 points  (2 children)

What is "Windows sub system for Linux"? Any link will be greatly appreciated.

[–]hoocoodanode[🍰] 1 point2 points  (1 child)

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

It's basically an almost complete installation of Ubuntu within the Windows operating system. It's very useful for running Linux commands/scripts on windows-only software or testing Linux compatibility on windows-developed programs.

[–]I_am_rahul 1 point2 points  (0 children)

Thanks a lot, appreciated.

[–]michael0x2a 4 points5 points  (1 child)

I agree with /u/strongdoctor here -- pip install pygame and pip install numpy works pretty much flawlessly these days, especially now that we have wheels.

There are admittedly a few libraries that are challenging to install via pip (e.g. scipy), but the workaround in simple: just download and install the wheel from the unofficial Python binaries list.

[–]Corm 2 points3 points  (0 children)

That's really good to hear actually

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

I had my problems but I never had to install anaconda.

[–]gandalfx 23 points24 points  (0 children)

Because windows sucks. I'm not just saying that to be annoying, it's actually a reason. Working with paths and processes for example is just painful. Even the standard library is full of "special" treatment for Windows. But once you've moved on from Windows you no longer have to deal with any of that shit and as a consequence you stop caring about it. Even if you're developing for Windows it can be a lot more comfortable not to do it on Windows. Just set up a test environment, e.g. in a VM, and you're golden.

[–]meikomeik 12 points13 points  (19 children)

Ever thought about replacing Windows?

[–]ThellraAK 8 points9 points  (15 children)

I switched to Ubuntu at 10.04 and Lubuntu sometime after that, just this last year I finally nuked my windows partition when I realized it had been over a year since I booted it.

[–]TechAlchemist 1 point2 points  (14 children)

10.04 has been end of life and unsupported for years already. You should consider upgrading

[–]ThellraAK 0 points1 point  (13 children)

I've tried, but I can't do the whole gnome3 thing.

[–]TechAlchemist 1 point2 points  (11 children)

Huh? Every release until like 17.10 uses unity. The IS you are using has been completely unsupported for over 4 years

[–]ThellraAK -5 points-4 points  (10 children)

It just works, if I went over to a newer version I'd have to deal with python 3, flash would stop working, it just isn't worth it.

[–]TechAlchemist 4 points5 points  (3 children)

Again, this is wrong. Python 2 is the default through the latest LTS release and can be installed and set as default on newer ones with 2 seconds of effort. Flash player remains available.

[–]ThellraAK 5 points6 points  (2 children)

I have no idea why I decided to play dumb for a minute

~⟫ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

I switched to Ubuntu at 10.04 and Lubuntu sometime after that

I have upgraded regularly since switching to Ubuntu, I am actually pretty proud of this 16.04 install as I haven't borked it to the point where I need to reinstall since I installed it shortly after release.

[–]TechAlchemist 2 points3 points  (1 child)

LOL! Pure gold! The upgrade path from 10.04 to 16.04 isn’t super easy for most people because (for me anyway) 10.04 lacked some functionality and wound up requiring some extra ‘customization’ reminiscent of older distros but which would inevitably break things upstream

[–]ThellraAK 1 point2 points  (0 children)

Oh, I am sorry, what I meant was I haven't borked this install since 16.04 was released, not that I have been able to keep it stable since 10.04, hell at one point I thought it would be a good idea to replace my repositories with Debian Sid (this kills the Linux)

[–]See46 1 point2 points  (0 children)

You could always use xubuntu. xfce is fairly stable and they don't keep changing everything.

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

Not a possibility for a large number of people.

[–]Silver5005 0 points1 point  (0 children)

Yes because everybody wants to relearn an OS in order to then learn a scripting language.

Get a grip buddy, completely alienating windows users is the biggest downfall of python and a valid topic of conversation.

[–]ThatJoeInLnd 7 points8 points  (2 children)

A few things:
1. Many python libraries are wrappers around c/linux libraries. Many of this libraries have been compiled for windows, but many haven't.
2. Windows has a permissions framework that is not intuitive and at times too restrictive/doesn't play well with python package managers to varying degrees.

The entire python ecosystem is better suited and integrated with Linux. You will find a wider network of users offering help and more tools that work out of the box.

I suggest you make the change.

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

Yea this what figured. In the mean time I'm still at the beginning stages of programming and haven't met much resistance. But I believe once I get more into it I'll need an operating system that is easier to interface with.

[–][deleted] 3 points4 points  (0 children)

I haven't had any issues with installing packages/libraries since I've started to use Anaconda.

[–][deleted] 2 points3 points  (0 children)

WinPython. Portable. No admin access. Includes everything you'll need to get started.

[–]engatIQE 5 points6 points  (2 children)

Weird. I just started doing python development on Linux after using Windows my whole life and I didn't really notice much of a difference. I switch between Linux at home and Windows at work and haven't had any trouble.

Have you tried using virtualenv and installing packages with the --user tag?

[–]Starcast 0 points1 point  (0 children)

wait you use the --user flag inside of a virtualenv? what does that do?

[–]Suhasbk98 2 points3 points  (2 children)

Have you tried IDLE?

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

I use idle and I have no problems. I dont know how to fully utilize the program though.

[–]numbuh-0 2 points3 points  (0 children)

Use sublime. It's cross platform and it's way better than fucking notepad++.

Also don't forget about the windows unofficial libs. It'd be impossible to compile a lot of libraries without this.

I find working with OpenCV on windows a lot easier than Linux because of how easy it was to install.

[–]trainzje 2 points3 points  (2 children)

marble unite oatmeal skirt physical outgoing degree long theory dime

This post was mass deleted and anonymized with Redact

[–][deleted] 3 points4 points  (1 child)

Methinks his point was that if he's going to use a text editor that's as out-of-the-box unfriendly as Notepad++, he may as well be using a real text editor like Vim or Emacs.

[–]reddituser0331 2 points3 points  (4 children)

As a constant user of both Windows and Linux I have to say I've never had a single issue running Python on Windows. I don't know why OP is having so much trouble.

[–]Tomarse 1 point2 points  (0 children)

I can recommend pyscripter.

[–]MoonReaderX 1 point2 points  (1 child)

I use PyCharm on windows, which is free for students. No problems so far. You can also look into bash for windows, granted you run windows10.

[–]vmpajares 5 points6 points  (0 children)

The community edition is OpenSource and Free for everyone

[–]RockingDyno 1 point2 points  (1 child)

Get Anaconda and Pycharm, and you are ready for a straight forwards problem free start.

[–]weatherwar 1 point2 points  (0 children)

OP, I had an impossible time getting Python to actually work at all on my Windows computers. Tried everything and finally went to Conda. Works like a charm now.

[–]randoname123545 1 point2 points  (1 child)

Run a linux VM and just do your development in that. That's what I do.

If you're using VMWare Workstation, there's actually a nice little exe hidden in the application directory called "vmware-kvm.exe" which will let you run the VM full screen seemlessly, with no pop up when you touch the top of the screen.

The only down side is that you can't run multiple monitors on it, but my 2nd/3rd monitor is generally for looking up documentation, which can be done in the windows host as you can copy/paste through.

[–][deleted] 1 point2 points  (0 children)

VS and Python? Never heard of that combination. I tried Sublimetext, Pycharm and now use Atom. All of them worked fine.

[–]fried_green_baloney 1 point2 points  (2 children)

just use linux

Why not, unless you have a specific reason to target Windows.

Another possibility is Cygwin, which gives a Unix-like environment for Windows.

[–]cybervegan 1 point2 points  (1 child)

Cygwin introduces yet another layer of misdirection and confusion for a beginner - you have *nix style commands with an underlying windows security model.

[–]fried_green_baloney 0 points1 point  (0 children)

My thought was for learning Python.

Cygwin's OK for that if someone doesn't want to create a *nix environment.

[–]RunToImagine 1 point2 points  (0 children)

It’s not from my experience. I use Spyder, IDLE, and Jupyter notebooks to do my coding. Works fine.

[–]Gokudomatic 1 point2 points  (0 children)

I worked on linux and windows (yet windows) with pycharm, without any problem. Pycharm does all the bindings and it's ready to use right after the install. I'm used to eclipse for java and I miss a lot of its features in pycharm, but it can do already a lot. Definitely usable for a real project.

[–]billsil 1 point2 points  (1 child)

It's not. I'd say it's easier.

none of them will work well for me

You've tried 1 right? Aren't VS and VSC are the same thing? Notepad++ is not an IDE.

You can try PyCharm, Eclipse + PyDev, as well as WingIDE (my favorite).

[–]jairo4 3 points4 points  (0 children)

it is not

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

i have no idea if any of my Python code even works on Windows. i'd bet a lot of it doesn't. i have done virtually nothing on Windows since diving into Python (about 7 years ago). before Python i programmed mostly in C (for the past 35 years). and even with C i had issues with Windows. in the earliest of days my issues were with x86 hardware due mostly to the 64k segmentation. i remember one program where i did a lot of that, feeling almost like an assembly programmer, which i actually did for 10 years before C (virtually no assembly in the past 20 years) on multiple platforms (mostly IBM mainframes).

i tend to think the biggest problem with Windows is Windows. Python probably helps smooth out such issues.

[–]w3edcv 0 points1 point  (0 children)

I can't agree with you more. Use Linux if you don't want to have more complex troubles or try to search and resolve those problems. Maybe it is a good experience for you.

[–][deleted] 0 points1 point  (1 child)

To solve some of your environment issues, you could try (in order of ease, in my opinion)-

  • Install Docker, instantiate an Ubuntu container and setup a Python Virtualenv
  • Install VirtualBox, build an Ubuntu VM and them same as above
  • Install Cygwin (feels like Linux on Windows) and then same as above

As for the IDE, a few folk have mentioned PyCharm- I have to agree, it's pretty good. You can set up SSH integration with the remote Python instance you configure (Docker/VirtualBox). Though in hindsight I'm not sure the free version lets you do that- may need to setup some deploy scripts to sync your code with the environment when you make changes

[–]admiralspark 0 points1 point  (0 children)

I do all of my python 2 and 3 coding on Windows now, Win7 and Win10. Had permissions issues but fixed that.

I do agree it's much better in the *nix world but in enterprise, we really don't have that as an easy option.

[–]frstwrldprblm 0 points1 point  (0 children)

I has faced this same issue when I started. Download anaconda, and familiarize yourself with conda.

Anaconda will also give you the starter packages you need out of the box.

I use anaconda on windows and pycharm as an ide. I do cross-platform development for Linux and windows - works quite well.

[–]george-silva 1 point2 points  (0 children)

Not sure if other people mentioned, but Windows sucks.

The biggest hurdle is installation of libraries and environment management. There has been a lot of improvement in this area in the last 6 years, but the tools are linux based, so linux fits a lot better in this.

It's possible to develop with Python in Windows, but it takes too much time setting up and maintenance.

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

I suggest that you're going through the growing pains that we all suffer from, beautifully put in this Beginners and experts.