On 2017-12-07 19:00, Barry Warsaw wrote:
As part of the importlib_resources skunkworks project Brett and I have been working on (just announced), we’ve also put together a nice Docker image that we’re using for our automated testing. This image is based on Ubuntu 16.04 and provides the latest stable releases of Python 2.7, and 3.4-3.6, along with a mostly up-to-date git checkout of master, currently Python 3.7 of course. Once 3.7 is released to beta, we intend to track its release tarballs too.
We also install a few other commonly needed tools, like pip, git, unzip, wget, mypy, and tox.
Here’s the project repo:
Huge shout out to Abhilash Raj who helped us clean up and compactify the image, and also for setting up automated publishing to quay.io. In case you weren’t aware, Abhilash is who I passed GNU Mailman project leadership to, so he has a lot of Python experience, and a ton of expertise in the image space. He’s an amazing amount of work to improve the quality of this image!
Brett and I want to promote this more widely within the Python community as the “official Python Docker image” that projects can use in their own testing environments, or base their own images on it. We wanted to give you guys a heads up first to get your feedback, and maybe thoughts on the best places to promote this, e.g. on the python.org website or other places.
We welcome your participation too of course! I’m happy to give write access to the project to any Python committer who wants to help.
Shiny! You'll get extra bonus points for not running as root. :)
I'm curious, what is the reason of compiling CPython yourself? Ubuntu has the deadsnakes project. Fedora has packages for Python 3.3, 3.4, and 3.5.
Could I convince you to put some builds of OpenSSL and LibreSSL into the container, too? Ubuntu 16.04 has only OpenSSL 1.0.2. A while ago I added a script to CPython that downloads, compiles and installs multiple versions in a shared directory (../multissl relative to cpython checkout). The script can be used to run the SSL test suites (ssl, asyncio, urllib, smtp, ...) against all installed versions.