Как установить пакет yaml для Python?

У меня есть программа на Python, которая использует YAML. Я попытался установить его на новый сервер с помощью pip install yaml и он возвращает следующее:

$ sudo pip install yaml
Downloading/unpacking yaml
  Could not find any downloads that satisfy the requirement yaml
No distributions at all found for yaml
Storing complete log in /home/pa/.pip/pip.log

Как мне установить пакет yaml для Python? Я использую Python 2.7. (ОС: Debian Wheezy)

Ответ 1

Вы можете попробовать функцию поиска в pip,

$ pip search yaml

который ищет пакеты в PyPI с yaml в кратком описании. Это показывает различные пакеты, в том числе PyYaml, yamltools и PySyck, среди прочих (обратите внимание, что PySyck docs рекомендуют использовать PyYaml, поскольку syck устарел), Теперь вы знаете конкретное имя пакета, вы можете установить его:

$ pip install pyyaml

Если вы хотите установить python yaml в системной среде в linux, вы также можете использовать диспетчер пакетов, например aptitude или yum:

$ sudo apt-get install python-yaml
$ sudo yum install python-yaml

Ответ 2

pip install pyyaml

Если у вас нет пипа, запустите easy_install pip, чтобы установить pip, который является установщиком для установки пакетов - Зачем использовать pip поверх easy_install?. Если вы предпочитаете придерживаться easy_install, то easy_install pyyaml

Ответ 3

Обновление: В настоящее время установка выполняется с помощью pip, но для сборки расширения C (на Mac) все еще требуется libyaml:

brew install libyaml
python -m pip install pyyaml

Устаревший метод:

Для MacOSX (mavericks), кажется, работает следующее:

brew install libyaml
sudo python -m easy_install pyyaml

Ответ 4

pip install PyYAML

Если libyaml не найден или скомпилирован, PyYAML может обойтись без него на Mavericks.

Ответ 5

Существует три пакета с поддержкой YAML. Syck (pip install syck), который реализует спецификацию YAML 1.0 2002 года; PyYAML (pip install pyyaml), которая соответствует спецификации YAML 1.1 2004 года; и ruamel.yaml, который следует последней спецификации (YAML 1.2 от 2009 года).

Вы можете установить совместимый с YAML 1.2 пакет с помощью pip install ruamel.yaml или, если вы используете современную версию Debian/Ubuntu (или производную) с:

sudo apt-get install python-ruamel.yaml

Ответ 6

Системы на базе Debian:

$ sudo aptitude install python-yaml

или новее для python3

$ sudo aptitude install python3-yaml

Ответ 7

следующая команда загрузит pyyaml, который также включает yaml

pip install pyYaml

Ответ 8

"Должен быть один - и желательно только один - очевидный способ сделать это". Итак, позвольте мне добавить еще один. Это больше похоже на "установку из исходников" для Debian/Ubuntu, с https://github.com/yaml/pyyaml

Установите libYAML и его заголовки:

sudo apt-get install libyaml-dev

Загрузите источники pyyaml:

wget http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz

Установите из исходников, (не забудьте активировать ваш venv):

. your/env/bin/activate
tar xzf PyYAML-3.13.tar.gz
cd PyYAML-3.13.tar.gz
(env)$ python setup.py install
(env)$ python setup.py test 

Ответ 9

Используйте вместо этого strictyaml

Если у вас есть возможность создать файл yaml самостоятельно или если вам не требуются какие-либо из этих функций обычного yaml, я рекомендую использовать strictyaml вместо стандартного пакета pyyaml.

Короче говоря, у yaml по умолчанию есть серьезные недостатки в плане безопасности, интерфейса и предсказуемости. strictyaml - это подмножество спецификации yaml, которое не имеет таких проблем (и лучше задокументировано).

Вы можете прочитать больше о проблемах с обычным yaml здесь

МНЕНИЕ: strictyaml должна быть реализацией yaml по умолчанию, а старая спецификация yaml должна быть устаревшей.

Ответ 10

Для меня установка развивающей версии libyaml сделала это.

yum install libyaml-devel         #centos
apt-get install libyaml-dev       # ubuntu

Ответ 11

Все это звучит хорошо и хорошо, но что с этим пакетом:

pyaml (19.4.1) - основанный на PyYAML модуль для создания симпатичных и читаемых YAML-сериализованных данных