2016-11-29 29 views
1

我想安装devstack(stable/newton)。我收到以下错误:devstack失败,oslo.policy版本不匹配

Traceback (most recent call last): 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main 
2016-11-29 16:36:55.348 |  status = self.run(options, args) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 335, in run 
2016-11-29 16:36:55.348 |  wb.build(autobuilding=True) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build 
2016-11-29 16:36:55.348 |  self.requirement_set.prepare_files(self.finder) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files 
2016-11-29 16:36:55.348 |  ignore_dependencies=self.ignore_dependencies)) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 521, in _prepare_file 
2016-11-29 16:36:55.348 |  req_to_install.check_if_exists() 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1036, in check_if_exists 
2016-11-29 16:36:55.348 |  self.req.name 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 558, in get_distribution 
2016-11-29 16:36:55.348 |  dist = get_provider(dist) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 432, in get_provider 
2016-11-29 16:36:55.348 |  return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0] 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 968, in require 
2016-11-29 16:36:55.348 |  needed = self.resolve(parse_requirements(requirements)) 
2016-11-29 16:36:55.348 | File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 859, in resolve 
2016-11-29 16:36:55.348 |  raise VersionConflict(dist, req).with_context(dependent_req) 
2016-11-29 16:36:55.348 | ContextualVersionConflict: (oslo.policy 1.14.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('oslo.policy>=1.15.0'), set(['neutron-lib'])) 

我试图升级oslo.policy使用PIP,但问题仍然存在。 任何关于如何解决这个问题的指针?

+0

您是否尝试安装所需版本(> = 1.15.0)?如果上述不起作用,那么使用** rm -rf /usr/local/lib/python2.7/dist-packages/*** –

回答

1

这是由全局需求变更引起的。有些项目会比其他项目更快地合并需求。如果您还没有这样做,请从主服务器获取最新的克隆。然后,您可以grep for“oslo.policy>”并查看哪个项目的需求文件将版本降低。

要查看版本号运行在/ opt /堆栈/目录下面的命令:

grep -r "oslo.policy>" 

我看到的版本1.14.0带来的是你,所以你想要做的是:

grep -r -l "oslo.policy>=1.14.0" | xargs -l sed -i -e "s/oslo.policy>=1.14.0/oslo.policy>=1.15.0/g" 

这将为您找到并替换。之后,您应该通过再次运行第一个grep来验证文件确实已更改。您可能必须更改模式以匹配版本,有时为1.14.0,其他时间可能为1.14

最后,升级oslo.policy并重试。

+0

删除python软件包就像魅力一样工作。这不仅是oslo.policy,还有很多版本不匹配的软件包。使用上述命令来解决它们。 – Pradeep