Нет модуля с именем yaml (пиво снова сломало мой питон)

homebrew снова сломал питон примерно в третий раз. Теперь у меня проблемы с запуском зависимостей. На данный момент я не могу установить yaml.

Collecting yaml Could not find a version that satisfies the requirement yaml (from versions: ) No matching distribution found for yaml

Некоторые другие предложения говорят попробовать pyaml, который снова просто пытается импортировать yaml и терпит неудачу Traceback (most recent call last): File "script.py", line 13, in <module> import pyaml File "/~/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py", line 6, in <module> import os, sys, io, yaml ImportError: No module named yaml

У кого-нибудь есть идея, как с этим разобраться?


person Vinnie James    schedule 10.08.2017    source источник


Ответы (2)


В индексе пакетов Python есть два пакета с несколько неудачными именами.

  • pip install pyyaml позволяет вам import yaml. Этот пакет позволяет Python анализировать файлы YAML.
  • pip install pyaml позволяет вам import pyaml. Этот пакет позволяет, помимо прочего, печатать файлы YAML из Python. Для установки требуется pyyaml.

Итак, путь вперед для вас:

  1. Установите pyyaml, желательно используя pip
  2. Установить pyaml
  3. Выгода

Шаг 0 — запустить все из виртуальной среды в чтобы доморощенный никогда больше не возился с вашим Python. Эта опция также позволяет вам запускать несколько версий Python, а не только ту, которая требуется для доморощенного.

person mpenkov    schedule 10.08.2017
comment
У меня была такая же проблема в виртуальной среде. Я попробую установить и pyaml, и pyyaml. Спасибо чувак! - person Vinnie James; 10.08.2017
comment
Мне любопытно, как это будет работать, если yaml все еще отсутствует. Поскольку pyaml пытается его импортировать: /pyaml/__init__.py", line 6, in <module> import os, sys, io, yaml @misha - person Vinnie James; 11.08.2017
comment
Почему это может отсутствовать? Вы установили его на шаге 1. - person mpenkov; 12.08.2017

Решение для меня оказалось доморощенным изменением python на python2, что, я считаю, исключает использование варочной версии вместо системной версии

eg python script.py >> python2 script.py

Кроме того, помогла привязка системной версии python к версии brew python2:

cd /usr/local/bin && ln -s ../Cellar/python/2.7.13_1/bin/python2 python

Я также сомневаюсь, что принятый ответ сработает, так как pyaml все еще пытается import yaml через __init__.py; которого не существует даже после установки обоих пакетов

$ pip install pyaml 
Collecting pyaml
  Using cached pyaml-17.7.2-py2.py3-none-any.whl
Requirement already satisfied: PyYAML in ~/Library/Python/2.7/lib/python/site-packages (from pyaml)
Installing collected packages: pyaml
Successfully installed pyaml-17.7.2
$ pip install yaml 
Collecting yaml
  Could not find a version that satisfies the requirement yaml (from versions: )
No matching distribution found for yaml

eg

  File "/~/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py", line 6, in <module>
    import os, sys, io, yaml
person Vinnie James    schedule 10.08.2017
comment
Это также было полезно stackoverflow.com/questions/34303294/ - person Vinnie James; 15.08.2017