0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windowsでigraphを入れてpythonから使うまで

Posted at

主にこちらの記事を参考にさせていただきました。

ポイント

  • pythonからpipだけでは完結しない
  • まずwindowsでターミナル操作するためMsys2が必要
  • Msys2のバージョン管理ソフトPACMANを使ってcairoをインストール
  • pycairo-pythonバインディングをDLして手動でpip
  • igraphモジュールをDLして手動でpip

Msys2のインストール

参考

Msys2でPACMANを使ってcairoをインストール

Msys2はインストールすると、似たようなアイコンが複数できてどれを起動すればいいのか迷った・・・。
スクリーンショット 2023-01-26 133813.png
MSYS2 MSYSというので良いのだと思う。(誰かそれぞれのアイコンの意味を教えてください)
Msys2を起動して、次のようなコマンドを打つのみ。

pacman -Syu  #pacmanの更新 
pacman -Sy mingw64/mingw-w64-x86_64-cairo

参考

pycairo-pythonバインディングをDLして手動でpip

Msys2を使った操作は前節で終わりで、ここからはPowerShellを使った操作になる。

cairoとpythonのバインディングのために、Python拡張のWindowsバイナリをインストールせねばならない。コンパイルが自力でできる人ならば、ソースコードからコンパイルして自力でバイナリを作ればよいが、それができない人のために非公式でバイナリを配布している方がいらっしゃるのでそちらの力をお借りする。Christoph Gohlke ありがとうございます。

私がアクセスしたときはhttpsの証明書が切れていて、Chromeの「安全ではないサイトにアクセスしようとしています」という警告にビクイクしながらダウンロードしました。

上記のサイトでpycairo含む様々なバイナリが配布されている。ページ内検索で「pycairo」を検索して目的のバイナリを探す。

  • pythonのバージョンが3.11なら cp311 という文字列が入っているもの
  • windows 64bitならamd64という文字列が入っているもの
  • 上の両方の条件を満たすものがダウンロードすべきもの
  • 自分の場合は pycairo‑1.21.0‑cp311‑cp311‑win_amd64.whl でした

バイナリをダウンロードしたら、ダウンロードした場所に移動して、pipでインストールを行う。

PS>pip install .\pycairo-1.21.0-cp311-cp311-win_amd64.whl
#もしかしたら --user を最後につけたほうがよいかも?

igraphモジュールをDLして手動でpip

続いて、igraphをpipでインストールします。同じく https://www.lfd.uci.edu/~gohlke/pythonlibs/ からダウンロードします。

自分の場合は 「 igraph-0.9.11-cp311-cp311-win_amd64.whl 」をダウンロード。

PS>pip install .\igraph-0.9.11-cp311-cp311-win_amd64.whl --user
Processing c:\users\llshi\downloads\igraph-0.9.11-cp311-cp311-win_amd64.whl
Requirement already satisfied: texttable>=1.6.2 in c:\python311\lib\site-packages (from igraph==0.9.11) (1.6.7)
Installing collected packages: igraph
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
python-igraph 0.10.3 requires igraph==0.10.3, but you have igraph 0.9.11 which is incompatible.
Successfully installed igraph-0.9.11

ここで、python-igraphはigraph 0.10.3を要求するけれども、あなたは 0.9.11 ですというエラーが出てヒヤッとします。

しかし、なぜかわからないけれども大丈夫でした。

そのあとで、

pip install igraph

というコマンドも実行しましたが、必要だったかどうかは不明です。

pythonでigraphが使えるかどうか動作確認

pythonを対話型で起動します。

 from igraph import *

まずはインポートします。面倒なのでigraphから全部です。
そして、有名なグラフを指定してplotします。

g = Graph.Famous('Levi')
plot(g)

Famous関数の中にほかにも Bull, Diamond, Petersen, Zachary など入れることができます。

スクリーンショット 2023-01-26 142830.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?