У меня есть программа 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. (OS: Debian Wheezy)
Вы можете попробовать функцию поиска в пипе
$ 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
pip install pyyaml
Если у вас нет pip, запустите easy_install pip
, чтобы установить pip, который является установщиком пакета go-to - https://stackoverflow.com/questions/3220404/why-use-pip-over-easy-install. Если вы предпочитаете придерживаться easy_install, то easy_install pyyaml
Обновление: В настоящее время установка выполняется с помощью pip, но libyaml все еще требуется для создания расширения C (на mac):
варево установить либиамл
python -m pip установить pyyaml
Обновленный метод:
Для MacOSX (mavericks), кажется, работает следующее:
варево установить либиамл
sudo python -m easy_install pyyaml
pip install PyYAML
Если libyaml не найден или скомпилирован, PyYAML может обойтись без него на Mavericks.
Есть три пакета с поддержкой 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
«Должен быть один - и предпочтительно только один - очевидный способ сделать это.«Итак, позвольте мне добавить еще один. Этот больше похож на «установку из источников» для Debian / Ubuntu, из https://github.com/yaml/pyyaml
Установите libYAML и его заголовки:
sudo apt-get install libyaml-dev
Загрузить источники пиямля:
wget http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz
Установите из источников (не забудьте активировать свою вентиляцию):
. 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
Следующая команда загрузит pyyaml
, который также включает yaml
pip install pyYaml
Если у вас есть возможность создать файл yaml самостоятельно или если вам не требуются любые из этих функций обычного yaml, я рекомендую использовать strictyaml
вместо стандартного пакета pyyaml
,.
Короче говоря, у yaml по умолчанию есть некоторые серьезные недостатки с точки зрения безопасности, интерфейса и предсказуемости. strictyaml
- это подмножество спецификации yaml, которое не имеет этих проблем (и лучше документировано).
Вы можете прочитать больше о проблемах с обычным ямлом здесь
МНЕНИЕ: strictyaml
должен быть реализацией yaml по умолчанию, а старая спецификация yaml должна быть удалена.
Для меня установка версии разработки libyaml сделала это.
yum install libyaml-devel #centos
apt-get install libyaml-dev # ubuntu