Как установить пакет 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-сериализованных данных