Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jamescasbon/pypackage

Ship virtualenvs as deb or rpm
https://github.com/jamescasbon/pypackage

Last synced: 3 months ago
JSON representation

Ship virtualenvs as deb or rpm

Awesome Lists containing this project

README

        

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`.