Automatically Build Custom Perl and Python Runtimes for Windows

Automatically Build Custom Python and Perl Runtimes for Windows

If you’ve ever had to build Perl or Python runtimes for a Windows OS, you’ve probably had to troubleshoot a number of issues, including:

  • Binding errors
  • Compilation errors 
  • Segmentation faults
  • Resolving dependencies
  • Tracking down build instructions

And when it comes to installation, there’s the inevitable clash of libraries, PATH errors, manual creation of system/environment variables, and so on.

While these experiences can be frustrating, they can also be great learning experiences – as long as you’re not on a deadline. If you are, the ActiveState Platform can help since it simplifies the building and installation of Perl and Python runtimes by automating much of the complexity. 

The ActiveState Platform is a SaaS platform that’s free to use and provides you with:

  • An on-demand, cloud-based build environment for Windows
  • A curated catalog with hundreds of packages that have been verified as vulnerability-free, well maintained, and appropriate for inclusion in commercial software
  • The ability to either fork our popular, pre-built ActivePerl and ActivePython runtimes, or else create your own custom Python runtimes tailored to your project’s requirements
  • The ability to share your build with others by inviting them. Ideal for open source projects and other collaborations.

Automate Windows Runtime Building

Any developer that has to perform a task more than once will consider automating it. While building Perl and Python runtimes for Windows tends to be a recurring task, it doesn’t lend itself very well to automation due to the number of switches, build flags and other options that vary widely from build to build depending on the source files and target platform. 

ActiveState has been building Python and Perl for Windows for more than 20 years. Over the decades, we’ve built many systems to help automate those builds. These systems are now being offered for use on-demand via our ActiveState Platform. As with any automated routine, there’s a trade off between complexity and usability. As a result, while you can’t currently set build flags or upload your own source code, you can:

  1. Pick a version of Python (v3.5+) or Perl (v5.20+) to build
  2. Choose a 64-bit Windows platform (Windows 7 or 10) to build for 
  3. Select from among hundreds of curated packages those that you want to be included in your runtime 

The ActiveState Platform automatically pulls in and resolves all dependencies for you. All packages, including those with C libraries, are automatically built in just a few minutes, or, if already created by another user, are instantly pulled from cache. The result is a custom runtime environment with a smaller footprint that uses less resources and offers a decreased attack surface, enhancing security.

Automate Windows Runtime Deployment

ActiveState’s CLI is the State Tool, which lets you download and install your runtime into a virtual environment on your workstation with a single command. In this way, you can ensure your entire team starts with a consistent dev environment, minimizing “works on my machine” incidents. 

But you can also use the State tool to update all the Python runtimes across your CI/CD instances, as well. When you need to update a package, the ActiveState Platform can automatically rebuild your Windows runtime, allowing you to update all your instances with the latest build using a single command. And since the ActiveState Platform automatically has a complete history of  each change to your Windows build, you can also revert all your instances to any previous build, as needed.

Getting Started with Windows Build Automation

The ActiveState Platform currently supports 64-bit versions of Windows 7 and Windows 10 for Perl 5.20+ and Python 3.5+. Join more than 60,000 other developers by creating your free account on the ActiveState Platform today.

Related Blogs:

ActiveState Platform: Simplify Python Project Kickoff


Recent Posts

Scroll to Top