理系女子学生の備忘録

研究と編み物と映画のお話。

ryuコントローラのインストール【下書き供養】

下書きに眠っていた記事を消してしまうのはもったいないということで公開します。
バージョン情報などが古い可能性が高いです。

http://ryu-zhdoc.readthedocs.org/en/latest/getting_started.html
上記のページを参考にソースからryuをインストール.

$ git clone git://github.com/osrg/ryu.git
$ cd ryu; python ./setup.py install

setup.pyを実行したら以下のようなエラーが.

$ cd ryu; python ./setup.py install
Installed /home/experiment/ryu/pbr-1.8.1-py2.7.egg
error in ryu setup command: Invalid environment marker: (python_version >= '2.7')

調べてみたところ, python-setuptoolsを最新版にしたら解決するらしい.
というわけで早速python-setuptoolsをアップデート.
https://pypi.python.org/pypi/setuptools
を参考にsetuptoolsをインストール.

$ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

もう一回ryuのインストールにチャレンジ.

~/ryu$ sudo python ./setup.py install

そしてエラー.

$ ryu --version
Traceback (most recent call last):
  File "/usr/local/bin/ryu", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3141, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3127, in _call_aside
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 640, in _build_master
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 941, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 828, in resolve
pkg_resources.DistributionNotFound: The 'oslo.config>=1.6.0' distribution was not found and is required by ryu

oslo.configが必要なようなのでインストール.

$ sudo pip install oslo.config --upgrade

またエラー

$ ryu --version
Traceback (most recent call last):
  File "/usr/local/bin/ryu", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3141, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3127, in _call_aside
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 640, in _build_master
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 941, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 828, in resolve
pkg_resources.DistributionNotFound: The 'webob>=1.2' distribution was not found and is required by ryu

webobが最新ではない様子.
というわけでwebobをアップデート.

$ sudo pip install webob
Downloading/unpacking webob
  Downloading WebOb-1.5.1-py2.py3-none-any.whl (79kB): 79kB downloaded
Installing collected packages: webob
Successfully installed webob
Cleaning up...

そしてまたエラー

$ ryu --version
Traceback (most recent call last):
  File "/usr/local/bin/ryu", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3141, in <module>
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3127, in _call_aside
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 640, in _build_master
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 941, in require
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 828, in resolve
pkg_resources.DistributionNotFound: The 'routes' distribution was not found and is required by ryu

と, 何度かエラー確認->インストールの過程を繰り返して最終的にインストールしたパッケージは以下の5つ.

  • oslo.config
  • webob
  • routes
  • msgpack-python
  • eventlet
$ ryu --version
ryu 3.30

という風に簡潔にバージョンが表示されればOK.
これでちゃんとryuが使えるようになりました (はず) .