Install package into virtualenv using apt-get
Another alternative is to download the file with apt-get download
, extract it with dpkg -x
and to move the extracted files to your virtualenv:
Example:
apt-get download python-xyz
assume this results in:
./python-xyz_1.2.3-3ubuntu5_amd64.deb
Then, use dpkg to extract the data portion of the .deb file:
dpkg -x python-xyz_1.2.3-3ubuntu5_amd64.deb ./xyz-tmp
In the newly created ./xyz-tmp
directory, you now have all files that would have been installed to /
(root) had you used apt-get install
.
Assume they are:
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz/
./xyz-tmp/usr/lib/python2.7/dist-packages/xyz-1.2.3.egg-info
You still need to map the subdirectories (e.g. dist-packages
vs. site-packages
), and can then move the files into your virtualenv (assuming a virtualenv /home/user/.virtualenvs/py27
):
mv ./xyz-tmp/usr/lib/python2.7/dist-packages/* /home/user/.virtualenvs/py27/lib/python2.7/site-packages/
Compared to my previous answer, this approach has the advantage that you don't have to research which files got installed, because you can see them in the extraction directory. It still requires a mapping of directories between the extracted archive and the virtualenv.