fabtools.python¶
Python environments and packages¶
This module provides tools for using Python virtual environments and installing Python packages using the pip installer.
See also
Virtual environments¶
- fabtools.python.virtualenv(*args, **kwds)[source]¶
Context manager to activate an existing Python virtual environment.
from fabric.api import run from fabtools.python import virtualenv with virtualenv('/path/to/virtualenv'): run('python -V')
Installing pip¶
- fabtools.python.install_pip(python_cmd='python', use_sudo=True)[source]¶
Install the latest version of pip, using the given Python interpreter.
import fabtools if not fabtools.python.is_pip_installed(): fabtools.python.install_pip()
Note
pip is automatically installed inside a virtualenv, so there is no need to install it yourself in this case.
Installing packages¶
- fabtools.python.is_installed(package, pip_cmd='pip')[source]¶
Check if a Python package is installed (using pip).
Package names are case insensitive.
Example:
from fabtools.python import virtualenv import fabtools with virtualenv('/path/to/venv'): fabtools.python.install('Flask') assert fabtools.python.is_installed('flask')
- fabtools.python.install(packages, upgrade=False, download_cache=None, allow_external=None, allow_unverified=None, quiet=False, pip_cmd='pip', use_sudo=False, user=None, exists_action=None)[source]¶
Install Python package(s) using pip.
Package names are case insensitive.
Starting with version 1.5, pip no longer scrapes insecure external urls by default and no longer installs externally hosted files by default. Use allow_external=['foo', 'bar'] or allow_unverified=['bar', 'baz'] to change these behaviours for specific packages.
Examples:
import fabtools # Install a single package fabtools.python.install('package', use_sudo=True) # Install a list of packages fabtools.python.install(['pkg1', 'pkg2'], use_sudo=True)
- fabtools.python.install_requirements(filename, upgrade=False, download_cache=None, allow_external=None, allow_unverified=None, quiet=False, pip_cmd='pip', use_sudo=False, user=None, exists_action=None)[source]¶
Install Python packages from a pip requirements file.
import fabtools fabtools.python.install_requirements('project/requirements.txt')