Project promises packaging panacea for Python

Pipenv combines PipFile, Pip, and Virtualenv into a single toolchain

Project promises packaging panacea for Python
OpenClipArt-Vectors (CC0)

Pipenv, a brand-new experimental tool, is offered as a packaging panacea for Python developers.

Developed over last weekend, the tool is intended to bring the "best of all packaging worlds" to Python, harnessing PipFile, Pip, and Virtualenv into a single toolchain, according to developer Kenneth Reitz, who works in Python-related product development at cloud provider Heroku.

"It vastly simplifies the workflow for working on Python projects," Reitz said. The project's GitHub repo describes the tool as providing a "sacred marriage" of the three packaging technologies.

Pipenv creates and manages a Virtualenv isolated environment for projects and adds or removes packages from a Pipfile as developers install and uninstall packages. Reitz said that although the tool is production-ready now, many changes should be expected as interest grows, and he's taking community feedback.

A multitude of other tasks are done automatically by Pipenv, including finding the project home by looking for a Pipfile and generating a Pipfile if there isn't one already, generating a Pipfile.lock, and updating Pip. "The main commands are installuninstall, and lock, which generates a Pipfile.lock, Reitz said. "These are intended to replace $ Pip install usage, as well as manual virtualenv management." To use a Python 3 virtual environment, developers must run $ pipenv --three first. For Python 2, run $ pipenv --two first. Pipenv is offered under an MIT license.

Python's ambitions have included packaging improvements. To that end, Pipfile has been proposed as a replacement for Pip, allowing descriptions of more specific dependencies with a Python package but with drawbacks of its own. The concept of an enterprise-grade Python package index also has arisen.

Copyright © 2017 IDG Communications, Inc.