LoginSignup
0
0

More than 5 years have passed since last update.

AMIのvirtualenvでgexiv2を使えるようにする

Last updated at Posted at 2016-06-10

インストールした環境

  • Amazon Linux AMI release 2015.09
  • Python 2.7.6(pyenv)

必要なライブラリのインストール

  • yumでインストール可能なものはyumでインストールする
sudo yum -y install gcc*
sudo yum -y expat-devel  
sudo yum -y gettext  
sudo yum -y glib2 glib2-devel  
sudo yum -y gobject-introspection gobject-introspection-devel  
sudo yum -y python27-pycairo python27-pycairo-devel  
  • yumで提供されていないものはソースからインストール(どこかのリポジトリにあるのかも)

    • ソースをダウンロードして解凍
    wget http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.10/pygobject-3.10.2.tar.xz  
    tar xvf pygobject-3.10.2.tar.xz  
    cd pygobject-3.10.2  
    
    • コンパイルしてpyenv環境をターゲットにインストール
    ./configure --prefix=/home/ec2-user/.pyenv/versions/2.7.6 # pyenvをホームディレクトリにインストールしています。  
    make  
    sudo make install  
    

exiv2をインストール

  • ソースをダウンロードして解凍
wget http://www.exiv2.org/exiv2-0.25.tar.gz  
tar xvf exiv2-0.25.tar.gz  
cd exiv2-0.25  
  • コンパイルしてpyenv環境をターゲットにインストール
./configure  
make  
sudo make install  

gexiv2をインストール

  • ソースをダウンロードして解凍
wget https://download.gnome.org/sources/gexiv2/0.10/gexiv2-0.10.3.tar.xz  
tar xvf gexiv2-0.10.3.tar.xz  
cd gexiv2-0.10.3  
  • コンパイルしてインストール
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig # exiv2.pcをpkg-configが見つけられない状態なので環境変数で指定  
./configure --enable-introspection  
make  
sudo make install  

virtualenvとリンク

  • virtualenvを作成
virtualenv -p ~/.pyenv/shims/python env # virtualenvを作成する場所はどこでもよい  
. env/bin/activate  
cd env/lib/python2.7/site-packages
ln -s ~/.pyenv/versions/2.7.6/lib/python2.7/site-packages/gi gi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
python  

テスト

import gi  
gi.require_version('GExiv2', '0.10')  
from gi.repository import GExiv2  
metadata = GExiv2.Metadata()  

参考

以上です。

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