Ошибка проверки CRC при установке python с помощью шеф-повара

Я пытаюсь установить графит, используя шеф-соло и бродягу, на 64-битную ясную виртуальную машину. Одной из зависимостей графита является python, и когда я пытаюсь подготовить виртуальную машину, я получаю сообщение об ошибке ниже. Я использую стандартную кулинарную книгу Python от Opscode (https://github.com/opscode-cookbooks/python< /а>)

Я не знаком с шеф-поваром или питоном, поэтому эта ошибка меня немного озадачила. Любая помощь приветствуется.

[default] Running provisioner: Vagrant::Provisioners::ChefSolo...
[default] Generating chef JSON and uploading...
[default] Running chef-solo...
stdin: is not a tty
[2013-03-11T00:18:05+01:00] INFO: *** Chef 10.14.2 ***
[2013-03-11T00:18:05+01:00] INFO: Setting the run_list to ["recipe[graphite]"] from JSON
[2013-03-11T00:18:05+01:00] INFO: Run List is [recipe[graphite]]
[2013-03-11T00:18:05+01:00] INFO: Run List expands to [graphite]
[2013-03-11T00:18:05+01:00] INFO: Starting Chef Run for lucid64.hsd1.ca.comcast.net.
[2013-03-11T00:18:05+01:00] INFO: Running start handlers
[2013-03-11T00:18:05+01:00] INFO: Start handlers complete.
[2013-03-11T00:18:06+01:00] WARN: This recipe uses encrypted data bags, which are not supported on Chef Solo - fallback to node attribute.
[2013-03-11T00:18:06+01:00] INFO: Processing package[python] action install (python::package line 40)
[2013-03-11T00:18:06+01:00] INFO: Processing package[python-dev] action install (python::package line 40)
[2013-03-11T00:18:06+01:00] INFO: Processing remote_file[/tmp/vagrant-chef-1/distribute_setup.py] action create (python::pip line 33)
[2013-03-11T00:18:06+01:00] INFO: Processing execute[install-pip] action run (python::pip line 39)

================================================================================
Error executing action `run` on resource 'execute[install-pip]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '127'
---- Begin output of   /usr/bin/python distribute_setup.py --download-base=https://pypi.python.org/packages/source/d/distribute/
  /usr/local/bin/easy_install pip
 ----
STDOUT: Extracting in /tmp/tmphzwy_0
STDERR: Traceback (most recent call last):
  File "distribute_setup.py", line 546, in <module>
    sys.exit(main())
  File "distribute_setup.py", line 543, in main
    return _install(tarball, _build_install_args(options))
  File "distribute_setup.py", line 77, in _install
    _extractall(tar)
  File "distribute_setup.py", line 479, in _extractall
    for tarinfo in members:
  File "/usr/lib/python2.6/tarfile.py", line 2412, in next
    tarinfo = self.tarfile.next()
  File "/usr/lib/python2.6/tarfile.py", line 2314, in next
    self.fileobj.seek(self.offset)
  File "/usr/lib/python2.6/gzip.py", line 382, in seek
    self.read(1024)
  File "/usr/lib/python2.6/gzip.py", line 219, in read
    self._read(readsize)
  File "/usr/lib/python2.6/gzip.py", line 267, in _read
    self._read_eof()
  File "/usr/lib/python2.6/gzip.py", line 304, in _read_eof
    hex(self.crc)))
IOError: CRC check failed 0x94c615b3 != 0x2e611106L
sh: /usr/local/bin/easy_install: not found
---- End output of   /usr/bin/python distribute_setup.py --download-base=https://pypi.python.org/packages/source/d/distribute/
  /usr/local/bin/easy_install pip
 ----
Ran   /usr/bin/python distribute_setup.py --download-base=https://pypi.python.org/packages/source/d/distribute/
  /usr/local/bin/easy_install pip
 returned 127

person emertechie    schedule 11.03.2013    source источник
comment
Вы установили easy_install?   -  person grc    schedule 11.03.2013
comment
@grc Я полагаю, что /usr/bin/python distribute_setup.py делает именно это.   -  person wRAR    schedule 11.03.2013


Ответы (1)


Ошибка IOError: CRC check failed 0x94c615b3 != 0x2e611106L указывает на то, что модулю gzip не удается извлечь загруженный файл .tgz. Это может быть вызвано проблемами с сетью.

Чтобы изолировать эту проблему, попробуйте запустить команду для настройки распространения вручную, т. е. запустите vagrant ssh, а затем:

/usr/bin/python distribute_setup.py --download-base=https://pypi.python.org/packages/source/d/distribute/

Это должно помочь вам определить, где в файле distribut_setup.py процесс пошел не так, как надо. Если с помощью Distributed_setup.py произойдет сбой, вы можете проверить загруженный файл Distributed-XYZtar.gz, чтобы убедиться, что он совпадает с файлом по адресу https://pypi.python.org/packages/source/d/распространить/ (используйте md5sum обоих файлов, чтобы убедиться, что они одинаковы). Если они одинаковы, я бы попробовал извлечь .tgz, который был только что загружен вручную, чтобы убедиться, что он действителен; Я полагаю, что один из файлов на сайте может быть поврежден, хотя это маловероятно.

Если решение не сразу видно на этом этапе, обновите свой вопрос с помощью этих дополнительных диаграмм, и мы посмотрим, что можно сделать дальше.

person Symmetric    schedule 10.04.2013