Ship virtualenvs as deb or rpm
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
pypackage.py
virtualenv.py

README.md

pypackage

Create RPMs or DEBs from a requirement file.

Example

Create a pip requirements file:

$ cat pyvcf.txt
cython
pysam
pyvcf

Run pypackage on it:

$ pypackage.py pyvcf.txt
...
Created deb package {"path":"/home/james/Src/scratch/pyvcf_1.0_i386.deb"}

Install package and use:

$ sudo dpkg -i pyvcf_1.0_i386.deb
(Reading database ... 340558 files and directories currently installed.)
Preparing to replace pyvcf 1.0 (using pyvcf_1.0_i386.deb) ...
Unpacking replacement pyvcf ...
Setting up pyvcf (1.0) ...

$ vcf_filter.py
usage: vcf_filter.py [-h] [--no-short-circuit] [--no-filtered]

What it does

This script creates a virtual environment, uses pip to install your requirements, fixes up the environment to use the correct paths, creates links from /usr/local/bin to any scripts and then uses fpm to build a DEB/RPM.

Why?

Because you want to ship an entire virtual environment and not rely on system packages for python or python libraries.

Installing

For the moment, you need to install fpm (gem install fpm) and ensure it is on your PATH. Then clone this repository and run pypackage.py.