Here Are Some of My Favorite Python Programming Resources and Setups

The simple and enjoyable setups I use every day

I’m by all means not a professional programmer or software developer. I do get paid to write code some times, which technically makes me a professional programmer, but I mostly write small tools to take care of repetitive tasks. As a supervisor, I also work with the pipeline in the companies I work for and write production tools for my teams. Over the years I have written a lot of small tools for Autodesk Maya. Maya happens to support Python (thankfully!) so my latest years have spun around this fantastic language.

I, therefore, consider myself an artist who knows how to code to help me be an artist. For me, some of the advanced setups become overwhelming so I have set myself up with what I feel is a nice and calm setup which I enjoy using.

In this article, I will be sharing some of my workflows with you.

Work Environments

In all fields, there seems to still be a fight between platforms. Linux, Mac, Windows. Which is better? In my world, it doesn’t matter. If you can’t adapt to an environment and use it to your advantage, go do something else. I have been working in all three environments, and all have their strengths and weaknesses.

Mac:

I do most of my coding on a MacBook with macOS. I love the built-in Terminal and how it fulfills my needs out of the box. You might need to install a newer version of python, but that is quick and painless. (link to python.org)

My trusted terminal customized to grey text on white background.

Sometimes it can be a bit confusing for a beginner to work with environment variables on a mac. It seems like it can be spread out everywhere. Claudio Floreani had a nice explanation on StackOverflow in this thread. (link to thread) worth reading. The whole thread is worth reading actually.

I store all my files using iCloud so I can work with them on the go. Storing files locally feels outdated and I am surprised I didn’t start working like this sooner…

Windows:

Windows also comes with a terminal you all know as the command prompt. In later years they have also introduced Powershell which looks a bit more like the terminals you are used to on the mac and Linux side, but in 2019, they also released Windows Terminal. It introduces tabs and is Open Source. Additionally, you can customize it to look and feel exactly like you want to.

You can either download it from the Microsoft Store or get it from their GitHub (link to the git repo)

preview from the Microsoft store ©Microsoft

If you want to have even more fun, you can use Windows Subsystem and run a local Linux shell interface in Windows without a virtual machine.

IDE

For both my environments I use one IDE. I have tried several, but I instantly fell in love with ATOM. This IDE is simple, supports tabs, window splitting and arrangements and can be customized to look exactly like you want. You can download user themes and you can also add a lot of extra functionality with packages. You have packages that can run code inside of Atom and there once was a functional PDF exporter. I hope that is fixed soon because I have needed it for uni work earlier and having that syntax go with the export would be nice.

Of course, you have smart autocomplete and syntax highlighting for your language.

You can connect to GitHub and one very interesting feature is how you can code together using their realtime collaboration setup called Teletype. This functionality requires all participants to be logged into GitHub

ATOM is fluid and fast, good looking and free. (link to the atom homepage)

The Atom Welcome page with a bunch of options.
The Atom GUI working in a project folder with multiple python files.

Going Online

pythonanywhere.com

OK, so that covers the work environment for the basic offline setups. When I started studying I considered getting an iPad Pro to do all of my tasks. What I was looking for was a device I could sketch on, take notes on and code on. I couldn’t find a nice and easy way to code directly on the iPad. That is when a friend of mine sent me a link to pythonanywhere.com (link to pythonanywhere.com). You have probably seen this already in some of my other articles. I didn’t end up with an iPad, but I use pythonanywhere a lot with my MacBook.

What you get with pythonanywhere is a virtual console and an IDE in one go. The free account gets you two consoles you can run at the same time and I have never reached the time limit. You can kill consoles when you need to free it up for another code to run. The free account has covered my needs so far.

Syntax highlighting is there, but no autocompletion (which, weirdly enough, I don’t miss that much)

pythonanywhere.com is simple to use and I can access all my code anywhere.

repl.it

Another interesting online coding platform is repl.it. This service is not limited to python only. You create a repl and choose your language. This setup also allows you to execute the code right in your browser.

Screenshot from repl.it

You can choose between bright and dark themes, you have syntax highlighting, autocomplete and version control. It supports a wide range of languages and you can connect to your GitHub.

A wide range of the programming languages supported at repl.it.

* I have had some issues with repl lately where it can’t load my code. It seems to be spinning in an endless loop looking for it and I have had to dig out some code from the version control. This made me return to pythonanywhere for a little while, but I will head back to check it out from time to time. It is a very nice setup.

Inspiration

From time to time you need inspiration. Youtube is obviously a place where you can find tons of info on python programming. There are a few favorites I would like to mention.

Kalle Hallden

The first one is Kalle Hallden. He has a session where he codes your apps while streaming and he has a lot of interesting projects. It is a very motivational channel to go to if you are out of ideas.

link to Kalle Hallden’s Youtube Channel

Corey Schafer

Another channel that I think is great when it comes to learning python is Corey Schafer’s channel. I wish this guy was my teacher. He has the ability to explain all things, simple or complex, in a relaxed and professional way. He also has a ton of material on his channel!

link to Corey Schafer’s Youtube Channel

Thanks for sticking around! I hope you found this helpful or inspirational. Feel free to comment with additional resources or alternatives to what I have set up here.

thanks,
M

CG supervisor with 17 years of experience in the Animation- and VFX industry. Studying Design, Use and Interaction (UX) at the University of Oslo

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store