2016-11-16 6 views
0

私はラップトップ(Mac、Python 2.7.12)でテストしたcliff 2.3.0のコマンドラインツールを作成しました。崖で開発したパッケージをインストールする際のエラー

Installed /private/tmp/easy_install-EGMO15/cliff-2.3.0/pbr-1.10.0-py2.7.egg 

ERROR:root:Error parsing 

Traceback (most recent call last): File "/private/tmp/easy_install-EGMO15/cliff-2.3.0/pbr-1.10.0-> py2.7.egg/pbr/core.py", line 111, in pbr 
    attrs = util.cfg_to_args(path, dist.script_args) File "/private/tmp/easy_install-EGMO15/cliff-2.3.0/pbr-1.10.0-py2.7.egg/pbr/util.py", line 248, in cfg_to_args 
    kwargs = setup_cfg_to_setup_kwargs(config, script_args) File "/private/tmp/easy_install-EGMO15/cliff-2.3.0/pbr-1.10.0-py2.7.egg/pbr/util.py", line 431, in setup_cfg_to_setup_kwargs 
    if pkg_resources.evaluate_marker('(%s)' % env_marker): 

AttributeError: 'module' object has no attribute 'evaluate_marker' error: Setup script exited with error in setup command: Error parsing /private/tmp/easy_install-EGMO15/cliff-2.3.0/setup.cfg: AttributeError: 'module' object has no attribute 'evaluate_marker' 

任意の提案:私は、サーバー(Linuxの、Pythonの2.7.2)上で(python setup.py install)をインストールしようとしたとき、私はこのエラーが発生しましたか?

答えて

1

ご使用のサーバーに、setuptoolsパッケージの(多くの)古いバージョンがインストールされている可能性があります(pkg_resourcesモジュールを提供しています)。 evaluate_markerメソッドは、2014年末に最初に現れたかのように見えるため、古いシステムを使用している場合は、そのメソッドを使用できない可能性があります。

環境に応じて、簡単にpip install -U setuptoolsにすることができます。また、ディストリビューションに新しい使用可能なパッケージがないかどうかを確認する必要があります。

あなたの質問を更新して、お使いのサーバーの動作環境(どのディストリビューションとバージョンを実行していますか?どのバージョンのPython?setuptoolsのバージョン?)を含めると、もっと完全な回答が得られるでしょう。

更新

例えば、Ubuntuの12.04のみsetuptoolsの0.6を有し、そして(python-pkg-resourcesパッケージに実装されている)pkg_resourcesモジュールはevaluate_marker方法がありません。この中

# python 
Python 2.7.3 (default, Jun 22 2015, 19:33:41) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pkg_resources 
>>> pkg_resources.evaluate_marker 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'module' object has no attribute 'evaluate_marker' 

を環境、私はインストールすることができますpip

# apt-get install python-pip 

そしてインストールsetuptoolsのバージョンアップグレード:今

# pip install -U setuptools 

そして:

# python 
Python 2.7.3 (default, Jun 22 2015, 19:33:41) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pkg_resources 
>>> pkg_resources.evaluate_marker 
<function evaluate_marker at 0x1535050> 
>>> 

NBアップグレード配布パッケージを(例えば、この例ではapt-getによってインストールされたもの)pipを使用しては、多くの場合につながることができます悲しみと心苦しさがあります。そのような回避策が必要ない環境に基礎環境をアップグレードできる場合は、ずっと効果的です。あるいは、アップグレードされたパッケージがシステムパッケージをオーバーライドしないように、Python仮想環境からコードを実行することも技術的に優れたソリューションです。

関連する問題