HYT MachineWorks

やったこととか思いついたことをメモしておくブログです。

pycairoをwindowsでインストールする(python3)

windowsにpycairoを入れるには課題が

 cairoのpythonバインディングであるpycairoのインストールですが、流れとしては以下の流れで入るのですが

  1. cairoをインストー
  2. pycairoを非公式バイナリを落としてインストールです。

ただ、cairoのインストールに引っかかったのでメモします

 前提条件

この記事は、下記記事を参照してmsys2をインストールしている前提で書いています。*1

自分の環境

windows 7 64bit

anaconda3 python3.5.3

msys pacman 5.0.1-2

 

hytmachineworks.hatenablog.com

1.cairoを入れる

そもそも、pycairoはcairoのpython用のバインディングなのでcairoを入れないと始まりません。

公式サイトによると

Windows

Precompiled binaries for Windows platforms can be obtained in a variety of ways.

From Dominic Lachowicz:

Since GTK+ 2.8 and newer depends on Cairo, you can have Cairo installed on Win32 as a side-effect of installing GTK+. For example, see The Glade/GTK+ for Windows Toolkit.

From Daniel Keep (edited by Kalle Vahlman):

Go to official GTK+ for Windows page.

You probably want at least the zlib, cairo, and libpng run-time archives (you can search on those strings to find them in the page). That should be it. Just pop libcairo-2.dll, libpng13.dll and zlib1.dll into your working directory or system PATH, and away you go!

That gives you the base cairo functions, the PNG functions, and the Win32 functions.

Building

 と書いてあり、私は2つめのofficial GTK+のサイトにあるやり方を参照しました

www.gtk.org

Step 1: Install MSYS2

Download the MSYS2 installer that matches your platform and follow the installation instructions.

Step 2: Install GTK+3 and its dependencies

Open a MSYS2 shell, and run:
pacman -S mingw-w64-x86_64-gtk3

Step 3 (recommended): Install GTK+ core applications

Glade is a GUI designer for GTK+. It lets you design your GUI and export it in XML format. You can then import your GUI from your code using the GtkBuilder API. Read the GtkBuilder section in the GTK+ manual for more information.

To install Glade:
pacman -S mingw-w64-x86_64-glade

Devhelp is a help browser. It lets you easily navigate offline in the GTK+, glib and gobject API help relative to the version of these libraries installed on your system.

To install Devhelp:
pacman -S mingw-w64-x86_64-devhelp

Step 4 (optional): Install the Python bindings

If you want to develop a GTK+3 application in Python, you need to install the Python bindings.

If you develop in Python 3:
pacman -S mingw-w64-x86_64-python3-gobject

If you develop in Python 2:
pacman -S mingw-w64-x86_64-python2-gobject

Step 5 (optional): Install build tools

If you want to develop a GTK+3 application in other languages like C, C++, Fortran, etc, you'll need a compiler like gcc and other development tools:

結局のところのcairoの入れ方

長々と書きましたが、結論を言うとmsys2をインストールすればcairoはpacman経由で入ります。

# pacmanの更新
$ pacman -Syu

# 32bit用
$ pacman -S mingw32/mingw-w64-i686-cairo
# 64bi用
$ pacman -S mingw64/mingw-w64-x86_64-cairo

 これで、cairoのインストールは完了

2.pycairoのインストー

非公式pythonバイナリからダウンロードして

Python Extension Packages for Windows - Christoph Gohlke

バイナリのあるディレクトリで

$ pip install pycairo_1.10.0_cp35_cp35m_win_amd64.whl

を実行すればインストール完了です。

*1:正直言うとcairoを入れるためにmsys2を入れたというのが本音だったり