解决python出现 import urllib.parse as urlparse ImportError: No module named parse等问题。

“/usr/lib/python2.7/site-packages/zunclient/common/httpclient.py” 428L, 16111C 1,1 顶端
File “/usr/lib/python2.7/site-packages/cliff/display.py”, line 116, in run
column_names, data = self.take_action(parsed_args)
File “/usr/lib/python2.7/site-packages/zunclient/osc/v1/services.py”, line 34, in take_action
client = _get_client(self, parsed_args)
File “/usr/lib/python2.7/site-packages/zunclient/osc/v1/services.py”, line 21, in _get_client
return obj.app.client_manager.container
File “/usr/lib/python2.7/site-packages/osc_lib/clientmanager.py”, line 47, in get
self._handle = self.factory(instance)
File “/usr/lib/python2.7/site-packages/zunclient/osc/plugin.py”, line 41, in make_client
API_VERSIONS)
File “/usr/lib/python2.7/site-packages/osc_lib/utils/init.py”, line 428, in get_client_class
return importutils.import_class(client_path)
File “/usr/lib/python2.7/site-packages/oslo_utils/importutils.py”, line 30, in import_class
import(mod_str)
File “/usr/lib/python2.7/site-packages/zunclient/v1/client.py”, line 19, in
from zunclient.common import httpclient
File “/usr/lib/python2.7/site-packages/zunclient/common/httpclient.py”, line 25, in
import urllib.parse as urlparse
ImportError: No module named parse
clean_up ListService: No module named parse
Traceback (most recent call last):
File “/usr/lib/python2.7/site-packages/osc_lib/shell.py”, line 136, in run
ret_val = super(OpenStackShell, self).run(argv)
File “/usr/lib/python2.7/site-packages/cliff/app.py”, line 281, in run
result = self.run_subcommand(remainder)
File “/usr/lib/python2.7/site-packages/osc_lib/shell.py”, line 176, in run_subcommand
ret_value = super(OpenStackShell, self).run_subcommand(argv)
File “/usr/lib/python2.7/site-packages/cliff/app.py”, line 401, in run_subcommand
result = cmd.run(parsed_args)
File “/usr/lib/python2.7/site-packages/osc_lib/command/command.py”, line 41, in run
return super(Command, self).run(parsed_args)
File “/usr/lib/python2.7/site-packages/cliff/display.py”, line 116, in run
column_names, data = self.take_action(parsed_args)
File “/usr/lib/python2.7/site-packages/zunclient/osc/v1/services.py”, line 34, in take_action
client = _get_client(self, parsed_args)
File “/usr/lib/python2.7/site-packages/zunclient/osc/v1/services.py”, line 21, in _get_client
return obj.app.client_manager.container
File “/usr/lib/python2.7/site-packages/osc_lib/clientmanager.py”, line 47, in get
self._handle = self.factory(instance)
File “/usr/lib/python2.7/site-packages/zunclient/osc/plugin.py”, line 41, in make_client
API_VERSIONS)
File “/usr/lib/python2.7/site-packages/osc_lib/utils/init.py”, line 428, in get_client_class
return importutils.import_class(client_path)
File “/usr/lib/python2.7/site-packages/oslo_utils/importutils.py”, line 30, in import_class
import(mod_str)
File “/usr/lib/python2.7/site-packages/zunclient/v1/client.py”, line 19, in
from zunclient.common import httpclient
File “/usr/lib/python2.7/site-packages/zunclient/common/httpclient.py”, line 25, in
import urllib.parse as urlparse
ImportError: No module named parse


出现问题的原因,主要还是安装的库不匹配,存在不兼容 的情况,,这种情况下,根据错误信息进行排查,看看库依赖的库,一层层找,最终定位为题。

这里排查的结果是库的版本过高,出现不兼容的情况,可以通过下面方式安装制定版本解决:

pip2 install "python-zunclient==3.6.0"