Python

Read the latest updates about all things Python at Microsoft

Upgrading Python on Azure App Service

App Service is Microsoft Azure's platform-as-a-service offering for web apps, whether they are sites accessed through a browser, REST APIs used by your own clients, or event-triggered processing. Many of you are already using Python to implement your apps on App Service (and rightly so!). When we first enabled Python on App Service we wanted ...

Idiomatic Python: EAFP versus LBYL

One idiomatic practice in Python that often surprises people coming from programming languages where exceptions are considered, well, exceptional, is EAFP: "it's easier to ask for forgiveness than permission". Quickly, EAFP means that you should just do what you expect to work and if an exception might be thrown from the operation then catch ...

Python and Django on Nano Server

This post is contributed by Refaat Issa from the Nano Server team, and was originally posted on their blog. Nano Server has also blogged about their support for MySQL and Node.js. One of Nano Server’s core scenarios is to serve as a lightweight OS for born-in-the-cloud applications running in a VM or a container. Nano Server already ...

Python lambda expressions unleashed

Carl Kadie, Ph.D., is a research developer in Microsoft Research/TnR working on Genomics. (image) Lambda expressions provide a way to pass functionality into a function. Sadly, Python puts two annoying restrictions on lambda expressions. First, lambdas can only contain an expression, not statements. Second, lambdas can't be ...

Microsoft at PyCon US 2016

This coming weekend is the start of PyCon US 2016 in Portland, USA. And as usual, we've sponsored the conference and will be bringing some of our engineering team. Here's where you'll be able to find us: Booth For many people, the main attraction is the Expo Hall. Here most of the sponsoring organizations will have booths set up to tell you ...

How to debug Python Azure Worker Roles

Two months ago I wrote a blog post on Python 3 Adoption. If you want to read the first post you can find it here. In the two months since that blog post was written we have more data to process and I got to thinking: why shouldn't we scale this up and increase the performance a bit? You'll recall that I used a worker role on Azure to process ...

Using CPython’s Embeddable Zip File

On the download page for CPython 3.5.1, you'll see a wide range of options. Not all of these are well explained, especially for Windows users who have seven (seven!) choices. (image) Let me restructure the Windows items into a more feature-focused table: As is fairly common with installers these days, you have the choice to download ...

Idiomatic Python: boolean expressions

You might think that boolean expressions -- most frequently used as conditional guards which are the the bit of code that tests whether an or statement should execute -- are a fairly straight-forward concept and that there isn't really anything subtle to them at all. And while the general concept is simple, there are some idiomatic practices...

How to deal with the pain of “unable to find vcvarsall.bat”

Python's packaging ecosystem is one of its biggest strengths, but Windows users are often frustrated by packages that do not install properly. One of the most common errors you'll see is this one: (image) As far as errors go, "unable to find vcvarsall.bat" is not the most helpful. What is this mythical batch file? Why do I need it? Where ...

Implementing a code of conduct for all of our open source work

When working in the open source world it is very important that everyone feels welcome and safe. External contributors to a project need to feel welcome so that they want to contribute to the project. Since contributing to open source is an inherently social event due to the fact that there will be interactions through issues, code reviews, ...