Help us understand the problem. What is going on with this article?

Windows10のPython3でigraphを使うまで

More than 1 year has passed since last update.

iGraphが使えなかった!!

市販本の「Pythonによるテキストマイニング入門」に載っていたigraphのサンプルを動かしたいと思いました。
パッケージをインストールするまでに色々と失敗したので他の人の参考になればなと書いて見ました。

間違った作業

Pythonでは、色々なパッケージを

pip install パッケージ

または

py -m pip install パッケージ

でインストールすることができます。
なぜにpyコマンドなのかは
https://qiita.com/mkgask/items/d741578efb13aac7db0e
に詳しく書かれていました。

とりあえずigraphでネットワーク図を描くサンプルコードを動かしたかったので特になにも考えず

py -m pip install igraph

とやってしまいました。そうするとjgraphがどうのというエラーが出るので

py -m pip install jgraph

とやってしまいました。この両方間違いです。
やってしまった方は

py -m pip uninstall igraph
py -m pip uninstall jgraph

でアンインストールしておきましょう。

pythonでigraphを使うために必要なもの

igraphをpythonから使うためにはigraph本体とそれをpythonから利用するためのパッケージが必要です。しかしigraphを使うためにcairoがそしてcairoを入れるためにmsys2がさらに必要です。

ひとまずmsys2をインストールします。
http://www.msys2.org
こちらのトップページからダウンロードしてインストールします。
現状のWindowsならほとんど64bit版だと思うのでmsys2-x86_64...をダウンロードしインストールします。
そうすると、コマンドラインのような画面が開きます。
そこで使えるパッケージマネージャpacmanをアップデートしてからcairoをインストールします。

pacman -Syu
pacman -S mingw64/mingw-w64-x86_64-cairo

これでmsys2は終了です。

つぎに
https://www.lfd.uci.edu/~gohlke/pythonlibs/
から二つのwheelファイルをダウンロードします。
非公式らしいのでご利用は自己責任で。
pycairoと、python-igraphになります。

こちら大量のファイルがあるのでサイト内検索でpycairoやpython-igraphを検索してみてください。
まずはサイト上部にある一覧からヒットしますんでクリックします。
そうすると、ファイルがたくさんあります。
例えば
pycairo_1.17.1_cp35_cp35m_win32.whlや pycairo_1.17.1_cp35_cp35m_win_amd64.whlなどあります。
Windowsが64bit版なら 末尾amd64.whlの方を選んでください。

そして大事なのはcp35_cp35mのところです。こちらはpythonのバージョンになります。ご自分のpythonバージョンと合わせてください。
例えば、python -Vで 3.5.4とでればcp35_cp35mを、3.6.7と出ればcp36_cp36mを選んでください。
これを間違えるとインストールできません。ここも結構悩みました。

Windows、Pythonともにバージョンを合わせて二つダウンロードします。
そして、Powershellやcmdなどのコマンドラインを開きます。cdコマンドでファイルをダウンロードしたフォルダにカレントディレクトリを移します。もしくはフルパスでファイルを指定します。

py -m pip install ファイル名

でパッケージを2つインストールします。
これで使えるはずです。

参考にさせていただいたのは下記のサイトです。
https://hytmachineworks.hatenablog.com/entry/2017/04/22/171620

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした