1

devstack (stable/newton) をインストールしようとしています。次のエラーが表示されます。

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']))

pip を使用して oslo.policy をアップグレードしようとしましたが、問題は解決しません。これを解決する方法についての指針はありますか?

4

1 に答える 1

1

これは、グローバルな要件の変更が原因です。一部のプロジェクトは、他のプロジェクトよりも早く要件をマージします。まだ行っていない場合は、master から最新のクローンを取得します。次に、"oslo.policy>" を grep して、どのプロジェクトの要件ファイルがバージョンをダウンさせているかを確認できます。

バージョン番号を確認するには、/opt/stack/ ディレクトリで次のコマンドを実行します。

    grep -r "oslo.policy>"

注: この時点以降、ソリューションは質問が行われた時点でのみ機能します。以下は、独自の grep および sed コマンドを作成して更新を行う方法の例と見なすことができます。目標は、すべての要件ファイルが同じ 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 をアップグレードして、再試行してください。

于 2016-12-10T20:35:09.827 に答える