Python useful links

Python environments

venv — Creation of virtual environments

python3 -m venv /path/to/new/virtual/environment

Virtualenv

virtualenv is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated into the standard library under the venv module. Note though, that the venv module does not offer all features of this library (e.g. cannot create bootstrap scripts, cannot create virtual environments for other python versions than the host python, not relocatable, etc.).

pip-tools

A set of command line tools to help you keep your pip-based packages fresh, even when you've pinned them.

Pipenv

The problems that Pipenv seeks to solve are multi-faceted:

  • You no longer need to use pip and virtualenv separately. They work together.
  • Managing a requirements.txt file can be problematic, so Pipenv uses Pipfile and Pipfile.lock to separate abstract dependency declarations from the last tested combination.
  • Hashes are used everywhere, always. Security. Automatically expose security vulnerabilities.
  • Strongly encourage the use of the latest versions of dependencies to minimize security risks arising from outdated components.
  • Give you insight into your dependency graph (e.g. $ pipenv graph).
  • Streamline development workflow by loading .env files.

Pyenv for managing multiple Python versions

Testing

Mockito

Code coverage measurement for Python

mechanize - Automate interaction with HTTP web servers

Packaging

Cookiecutter template for a Python package

Python Packaging User Guide

Twine

Twine is a utility for publishing Python packages on PyPI.

Build tools

Buildout, an automation tool written in and extended with Python

PyBuilder

Uranium: a Python Build System

Other

Python Anywhere

Host, run, and code Python in the cloud