Installing Python Software Packages: The Good, The Bad and the Ugly

I almost gave the following presentation at the INFORMS Annual Meeting:


That is, I was scheduled to give this talk but my session co-organizer ran over and I had to summarize these slides in 5 minutes!

Anyway, these slides describe different strategies for installing Python software.  Although I am a big fan of Python software development, robust strategies for software installation remains a challenge.  This talk describes several different installation scenarios:

The Good: the user has administrative privileges
  1. Installing on Windows with an installer executable
  2. Installing with Linux application utility
  3. Installing a Python package from the PyPI repository
  4. Installing a Python package from source

The Bad: the user does not have administrative privileges
  1. Using a virtual environment to isolate package installations
  2. Using an installer executable on Windows with a virtual environment

    The Ugly: the user needs to install an extension package from source
    1. Installing a Python extension package from source
    2. PyCoinInstall – Managing builds for Python extension packages
    The last item referring to PyCoinInstall describes a utility being developed for the COIN-OR software, which is used within the operations research community.  COIN-OR includes a variety of Python and C++ software packages, and this script uses a simple plug-in system to support the management of package builds and installation.  Of course, this mostly does the easy packages right now...

    While preparing these slides I realized that the vpy_install script I use for setting up virtual environments is probably of broader interest.  I'll say more about this in a little bit.  In the meantime, checkout the slides!

    Comments

    Popular posts from this blog

    Python Plugin Frameworks

    SBOMs for Scientific Software: C++

    Using AsciiDoc for Mathematical Publications