0

私はファブリックツールを初めて使用します。すでにPythonを使用しています。easy_install を使用してファブリックをインストールしようとすると、以下の synctax エラーが発生します。

私は自分のスクリプトで何も変更しませんでした。ファブリックコードでダウンロードして、簡単なインストールでインストールしようとしています:

以下のエラーを確認し、今後の進め方を提案してください。

[root@ ~]$ easy_install setup
Searching for setup
Reading https://pypi.python.org/simple/setup/
Couldn't find index page for 'setup' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for setup
error: Could not find suitable distribution for Requirement.parse('setup')
[root@cmcibv12 addr:113.128.177.237 ~]$ easy_install fabric
Searching for fabric
Reading https://pypi.python.org/simple/fabric/
Best match: Fabric 1.8.0
Downloading https://pypi.python.org/packages/source/F/Fabric/Fabric-1.8.0.tar.gz#md5=1f195d16b05877767816617749d33eca
Processing Fabric-1.8.0.tar.gz
Writing /tmp/easy_install-PoxSe1/Fabric-1.8.0/setup.cfg
Running Fabric-1.8.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-PoxSe1/Fabric-1.8.0/egg-dist-tmp-JzsXHn
Traceback (most recent call last):
  File "/usr/bin/easy_install", line 8, in ?
    sys.exit(
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 1925, in main
    with_ei_usage(lambda:
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 1912, in with_ei_usage
    return f()
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 1929, in <lambda>
    distclass=DistributionWithoutHelpCommands, **kw
  File "/usr/lib64/python2.4/distutils/core.py", line 149, in setup
    dist.run_commands()
  File "/usr/lib64/python2.4/distutils/dist.py", line 946, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.4/distutils/dist.py", line 966, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 374, in run
    self.easy_install(spec, not self.no_deps)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 609, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 639, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 825, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 1031, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/command/easy_install.py", line 1016, in run_setup
    run_setup(setup_script, args)
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/sandbox.py", line 68, in run_setup
    DirectorySandbox(setup_dir).run(
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/sandbox.py", line 120, in run
    return func()
  File "/usr/lib/python2.4/site-packages/setuptools-1.1.7-py2.4.egg/setuptools/sandbox.py", line 71, in <lambda>
    {'__file__':setup_script, '__name__':'__main__'}
  File "setup.py", line 7, in ?
  File "/tmp/easy_install-PoxSe1/Fabric-1.8.0/fabric/version.py", line 57
    sha1 = (" (%s)" % sha) if sha else ""
                            ^
SyntaxError: invalid syntax

前もって感謝します。

4

2 に答える 2

2

Fabric には Python 2.5 以降が必要で、2.4 を使用しています。公式ドキュメントを見る

Python 2.4 が古く、コンテキスト マネージャーや新しいモジュールなどの便利なツールが Python 2.5 に多く含まれていることを考えると、Python 2.4 をサポートする予定はありません。とはいえ、2.5 固有の機能の実際の量は法外に多くないため、サードパーティの 2.4 互換フォークにリンクしますが、サポートはしません。(私たちの知る限り、現時点ではそのようなフォークは存在しません。)

于 2013-11-01T06:12:28.510 に答える
0

Fabric には Python バージョン 2.5 または 2.6 が必要です。Fabric はまだ Python 3.x でテストされていないため、その開発ラインと互換性がない可能性があります。

于 2013-11-01T08:21:01.363 に答える