Python 3.7 now available!


If you signed up since 28 August, you’ll have Python 3.7 available on your account – you can use it just like any other Python version.

If you signed up before then, it’s a little more complicated, because adding Python 3.7 to your account requires changing your system image.

Each account has an associated system image, which determines which Python versions, Python packages, operating system packages, and so on are available. The new image is called “earlgrey” (after the previous system images, “classic” and “dangermouse”).

What this means is that if we change your system image, the pre-installed Python packages will all get upgraded, which means that any code you have that depends on them might stop working if it’s not compatible with the new versions.

For previous upgrades, from classic to dangermouse, we said that all was OK if you were using a virtualenv, which (of course) removes the dependency on the pre-installed Python packages. However, this new image not only adds Python 3.7 and upgrades packages, it also upgrades the older Python versions – for example, from the antediluvian 2.7.6 to 2.7.12, and from 3.6.0 to 3.6.6. This can break virtualenvs in some cases.

So, long story short – we can switch your account over to the new system image, but you may need to rebuild your virtualenvs afterwards if you’re using them – and you may need to update your code to handle newer pre-installed Python packages if you’re not using virtualenvs.

There are more details about exactly which package versions are included in which system image on the batteries included page. And if you’d like to switch your account over to earlgrey, just drop us a line using the “Send feedback” button. (If you’ve read all of the above, and understand that you may have to make code/virtualenv changes, mention that you have in the feedback message as otherwise we’ll respond by basically repeating all of the stuff we just said, and asking “are you sure?")

comments powered by Disqus