Ask HN: Python dev on Windows?

2 points by staticautomatic ↗ HN
I'm self-taught in Python with a proficiency level I'd call "advanced scripting" and am looking to broaden my skills and get more seriously into web development work. I currently do all my coding on a relatively stock install of Windows 10 EE. I have had a pretty easy time working with Python on Windows but no matter how many times I install the MSVC++ compiler package I still occasionally run into the dreaded "cannot find vcvarsall.bat" error when installing a package that runs C under the hood. There are only so many binaries available. I'm considering changing my setup. I figure the options are 1) Try the Linux subsystem for Win, 2) Dual boot Linux, or 3) Buy a new windows laptop and convert the current one to Linux. I'm a little reluctant to dual boot because I otherwise use the Windows machine for sort of mission critical work. Can anyone offer some guidance?

The tools I'd be regularly using or exploring include: Falcon, Django, Postgres, RabbitMQ, Redis, Celery, Numpy, Scipy, lxml.

4 comments

[ 3.7 ms ] story [ 22.5 ms ] thread
Use WSL to get started with Linux. As a UNIX native, I find the filesystem in WSL quite slow, but for you it will probably be business as usual. I wouldn’t suggest jumping in with more feet until you’re more comfortable with Linux.

If the FS is frustratingly slow, consider using HyperV or Virtualbox to run a Linux VM. the filesystem will be faster, but your RAM resources will be shared less “fairly” between Linux and Windows. VMs are quite fast these days, and most certainly preferable to a bare-metal Linux install for me, at least.

If you dual-boot or install on hardware, I worry you’ll add too much friction and end up spending more of your time fiddling with Linux instead of learning what actually interests you here: Python.

> I figure the options are 1) Try the Linux subsystem for Win, 2) Dual boot Linux, or 3) Buy a new windows laptop and convert the current one to Linux.

4) Use a virtual machine with Linux -- or the reverse, virtual machine with Windows running under Linux.

I haven't tried that since my machine is a laptop with an i5 and 8gb ram, but I guess I'll give it a go and see how it performs.