Paul Krill
Editor at Large

Project promises packaging panacea for Python

news
Jan 25, 20172 mins

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

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.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author