Hello,
While reading the Ryu book, I discovered that several applications in
ryu.app.* seem to be broken under Python 3:
test@host:~# ryu-manager --verbose ryu.app.rest_topology
loading app ryu.app.rest_topology
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/ryu/utils.py", line 81, in
import_module
__import__(modname)
File "/usr/local/lib/python3.4/dist-packages/ryu/app/rest_topology.py",
line 22, in <module>
from ryu.topology.api import get_switch, get_link
File "/usr/local/lib/python3.4/dist-packages/ryu/topology/api.py", line
38, in <module>
app_manager.require_app('ryu.topology.switches', api_style=True)
File "/usr/local/lib/python3.4/dist-packages/ryu/base/app_manager.py",
line 85, in require_app
m._REQUIRED_APP = getattr(m, '_REQUIRED_APP', [])
AttributeError: 'NoneType' object has no attribute '_REQUIRED_APP'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/ryu-manager", line 9, in <module>
load_entry_point('ryu==3.23.2', 'console_scripts', 'ryu-manager')()
File "/usr/local/lib/python3.4/dist-packages/ryu/cmd/manager.py", line
88, in main
app_mgr.load_apps(app_lists)
File "/usr/local/lib/python3.4/dist-packages/ryu/base/app_manager.py",
line 389, in load_apps
cls = self.load_app(app_cls_name)
File "/usr/local/lib/python3.4/dist-packages/ryu/base/app_manager.py",
line 366, in load_app
mod = utils.import_module(name)
File "/usr/local/lib/python3.4/dist-packages/ryu/utils.py", line 92, in
import_module
__import__(name)
File "/usr/local/lib/python3.4/dist-packages/ryu/app/rest_topology.py",
line 22, in <module>
from ryu.topology.api import get_switch, get_link
File "/usr/local/lib/python3.4/dist-packages/ryu/topology/api.py", line
38, in <module>
app_manager.require_app('ryu.topology.switches', api_style=True)
File "/usr/local/lib/python3.4/dist-packages/ryu/base/app_manager.py",
line 85, in require_app
m._REQUIRED_APP = getattr(m, '_REQUIRED_APP', [])
AttributeError: 'NoneType' object has no attribute '_REQUIRED_APP'
The above happens with Ryu 3.23.2 from PyPI on Python 3.4.0 (Ubuntu 14.04)
Additionally, I also saw the following error messages during install (Seems
like some files were missed during the 2->3 conversion):
Installing collected packages: ryu
Running setup.py install for ryu
[pbr] Reusing existing SOURCES.txt
Installing ryu script to /usr/local/bin
Installing ryu-manager script to /usr/local/bin
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/db/idl.py", line 189
except error.Error, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/stream.py", line 122
def open_block((error, stream)):
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/fatal_signal.py",
line 93
except OSError, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/daemon.py", line 147
except IOError, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/poller.py", line 174
except select.error, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/socket_util.py",
line 40
except socket.error, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/json.py", line 146
except UnicodeDecodeError, e:
^
SyntaxError: invalid syntax
File
"/usr/local/lib/python3.4/dist-packages/ryu/contrib/ovs/ovsuuid.py", line 45
except error.Error, e:
^
SyntaxError: invalid syntax
Successfully installed ryu
Cleaning up...
test@host:~$
Note that other example applications such as simple_vlan and rest_qos are
affected by this, since they depend on the contrib.ovs modules.
Greetings from Germany,
-Fadi
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel