2016-11-29 31 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