2020-04-15

【備忘録】pip で PyGObject をインストール

GObject (GLib Object System) は、GTK+ のすべてのウィジェットおよび関連するオブジェクトの基底クラスからなるオブジェクトシステムと、言語間の透過的相互運用性を提供するライブラリです。GObject は C 言語で実装されており、バインディングによって他の言語から利用可能となっています。

PyGObject は GObject へのバインディングを提供する Python パッケージです。

Wikipedia より引用・編集

pip で PyGObject をインストール

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 31 Silverblue x86_64

参考サイト [1] に沿って Python の仮想環境下、pip で PyGObject をインストール・ビルドするとき、いつも依存関係でエラーが出てつまづきます。どうやら cairo-gobject-devel も必要のようです。評価用に Fedora Silverblue をインストールして、同じ轍を踏んでしまいましたので、備忘録として書き留めておきました。

(venv) [bitwalk@silverblue ~]$ rpm-ostree install --allow-inactive gobject-introspection-devel cairo-devel cairo-gobject-devel pkg-config python3-devel gtk3
==== AUTHENTICATING FOR org.projectatomic.rpmostree1.install-uninstall-packages ====
Authentication is required to install and remove software
Authenticating as: Fuhito Suguri (bitwalk)
Password:
==== AUTHENTICATION COMPLETE ====
Inactive requests:
  gtk3 (already provided by gtk3-3.24.13-2.fc31.x86_64)
  pkg-config (already provided by pkgconf-pkg-config-1.6.3-2.fc31.x86_64)
Checking out tree 2de2e4e... done
Enabled rpm-md repositories: updates fedora-cisco-openh264 updates-modular fedora rpmfusion-nonfree-steam fedora-modular phracek-PyCharm
rpm-md repo 'updates' (cached); generated: 2020-04-13T16:27:30Z
...
(途中省略)
...
Run "systemctl reboot" to start a reboot
(venv) [bitwalk@silverblue ~]$ systemctl reboot
==== AUTHENTICATING FOR org.freedesktop.login1.set-wall-message ====
Authentication is required to set a wall message
Authenticating as: Fuhito Suguri (bitwalk)
Password:
==== AUTHENTICATION COMPLETE ====

※ ssh でリモートログインして Fedora Silverblue を操作すると、上記のようにパスワードの入力を要求してくることを初めて知りました。

再起動後、pip で PyGObkect をインストールします。

(venv) [bitwalk@silverblue ~]$ pip install PyGObject
Collecting PyGObject
  Using cached PyGObject-3.36.0.tar.gz (714 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: pycairo>=1.11.1 in ./venv/lib/python3.7/site-packages (from PyGObject) (1.19.1)
Building wheels for collected packages: PyGObject
  Building wheel for PyGObject (PEP 517) ... done
  Created wheel for PyGObject: filename=PyGObject-3.36.0-cp37-cp37m-linux_x86_64.whl size=830814 sha256=e63019bf18525b9e5cb75dd4497309679ceec8a96694757c859b5feff5422df3
  Stored in directory: /var/home/bitwalk/.cache/pip/wheels/2d/ae/21/b3f0b37b13dc25defc57fa194e4817bb9cbfbfb247dccaf8c0
Successfully built PyGObject
Installing collected packages: PyGObject
Successfully installed PyGObject-3.36.0
(venv) [bitwalk@silverblue ~]$

参考サイト

  1. Getting Started — PyGObject

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: