Install pycairo in virtualenv
Although py2cairo doesn't install nicely using pip, you can still install py2cairo into the virtual environment using the build instructions in the INSTALL file from the distribution.
You will need the cairo-dev/cairo-devel package for you os installed in order to build the package.
Do the following to install into your virtual environment:
- download, unpack, and cd into the the py2cairo directory
- Activate your virtual environment
- Follow the standard build procedure
./waf configure --prefix=$VIRTUAL_ENV
./waf build
./waf install
pycairo currently does not support installation through pip/distutils. The project’s install docs instructs to use either waf or autotools.
To use pycairo in a virtualenv, you need to:
- Install pycairo system-wide, preferably through your distribution’s packages
- Then, either:
- Create a virtualenv with the
--system-site-packages
option or remove thelib/pythonX.Y/no-global-site-packages.txt
file after the fact. - Or add a symbolic link to the
cairo
package (the directory containing_cairo.so
). Something like this:ln -s /usr/lib/python2.7/site-packages/cairo ./venv/lib/python2.7/site-packages
- Create a virtualenv with the
Of course 1. has the downside that you will not profit from virtualenv’s isolation from other packages installed system-wide.
Good news, everyone!
I just released cairocffi: http://packages.python.org/cairocffi/
It’s a replacement for pycairo that installs with pip in a virtualenv, runs on Python 2 and 3, as well as PyPy.
pip install cairocffi
In your code:
import cairocffi as cairo
# Enjoy the same API as Pycairo.
Feedback welcome. (Although the issue tracker might be a better channel than here.)