0

我已尝试按此说明安装 Swift

当我尝试从源代码安装 swift 时(在 git clone 之后)我从 python 安装程序中得到错误:

Traceback (most recent call last):
File "setup.py", line 22, in <module>
  pbr=True)
File "/usr/lib/python2.7/distutils/core.py", line 152, in setup
  dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
  self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
  cmd_obj.run()
File "/usr/lib/python2.7/dist-packages/setuptools/command/develop.py", line 27, in run
  self.install_for_development()
File "/usr/lib/python2.7/dist-packages/setuptools/command/develop.py", line 105, in install_for_development
  self.process_distribution(None, self.dist, not self.no_deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 692, in process_distribution
  [requirement], self.local_index, self.easy_install
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 576, in resolve
  dist = best[req.key] = env.best_match(req, self, installer)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 821, in best_match
  return self.obtain(req, installer) # try and download/install
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 833, in obtain
  return installer(requirement)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 608, in easy_install
  return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 638, in install_item
  dists = self.install_eggs(spec, download, tmpdir)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 828, in install_eggs
  return self.build_and_install(setup_script, setup_base)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1105, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1094,   in run_setup
  run_setup(setup_script, args)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 30, in run_setup
  lambda: execfile(
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 72, in run
  return func()
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 32, in <lambda>
  {'__file__':setup_script, '__name__':'__main__'}
File "setup.py", line 60, in <module>

File "/usr/lib/python2.7/distutils/core.py", line 152, in setup
  dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
  self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 970, in run_command
  cmd_obj = self.get_command_obj(command)
File "/usr/lib/python2.7/distutils/dist.py", line 846, in get_command_obj
  cmd_obj = self.command_obj[command] = klass(self)
File "/usr/lib/python2.7/dist-packages/setuptools/__init__.py", line 70, in __init__
  _Command.__init__(self,dist)
File "/usr/lib/python2.7/distutils/cmd.py", line 59, in __init__
  raise TypeError, "dist must be a Distribution instance"
TypeError: dist must be a Distribution instance

首先,我尝试在 CentOS 上安装 Swift,然后在 Ubuntu 12.04 上安装,我有同样的错误。你有什么想法?

4

1 回答 1

1

这是您的问题的解决方法:

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.8.tar.gz
tar zxvf setuptools-0.9.8.tar.gz
cd setuptools-0.9.8/
sudo python setup.py install
cd
sudo easy_install pip
sudo aptitude install libffi-dev
git clone git@github.com:openstack/swift.git
cd swift/
sudo python setup.py install`

此处描述了此问题:https ://bitbucket.org/pypa/setuptools/issue/73/typeerror-dist-must-be-a-distribution

我已经使用了这个解决方法,它在 Ubuntu 12.04 服务器的虚拟实例上对我有用。

于 2013-09-07T22:25:22.757 回答