猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

CentOS6.4にRyuをソースコードからインストール

インストール

最新の機能を利用したい場合は、パッケージからではなく、gitの最新のソースコードからインストールする必要があります。

プロキシ環境下ではgitやhttpsなどで適切な設定がなされていないと、エラーとなります。

[root@localhost ryu]# yum -y install gcc git python-devel python-setuptools
[root@localhost ryu]# easy_install pip
[root@localhost ryu]# git clone https://github.com/osrg/ryu.git
[root@localhost ryu]# cd ryu
[root@localhost ryu]# chmod +x setup.py
[root@localhost ryu]# python setup.py install

動作確認

バージョンが表示されれば成功です。

[root@localhost ryu]# ryu-manager --version
ryu-manager 3.3

追記(2014年4月25日)

実行時に以下のようなエラーがでました。

Traceback (most recent call last):
  File "/usr/local/bin/ryu-manager", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2707, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: routes

Traceback (most recent call last):
  File "/usr/local/bin/ryu-manager", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2707, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: routes

対策として、以下のようにパッケージのインストールを行い解決しました。

#easy_install routes
#easy_install six

 パッケージの更新等により、ある日突然これまでのインストール方法が使えなくなることが多くて本当に悩ましいです。