420

我有一个使用 YAML 的 Python 程序。我尝试使用它在新服务器上安装它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

如何为 Python 安装 yaml 包?我正在运行 Python 2.7。(操作系统:Debian Wheezy)

4

11 回答 11

684

你可以试试pip中的搜索功能,

$ pip search yaml

它在简短描述中使用 yaml 在 PyPI 中查找包。这揭示了各种包,包括 PyYaml、yamltools 和 PySyck 等(请注意,PySyck 文档建议使用 PyYaml,因为 syck 已过时)。现在你知道了一个特定的包名,你可以安装它:

$ pip install pyyaml

如果你想在 linux 系统范围内安装 python yaml,你也可以使用包管理器,比如aptitudeyum

$ sudo apt-get install python-yaml
$ sudo yum install python-yaml
于 2013-01-10T16:21:59.333 回答
111

pip install pyyaml

如果您没有 pip,请运行easy_install pip以安装 pip,这是首选软件包安装程序 -为什么使用 pip 而不是 easy_install?. 如果您更喜欢坚持使用 easy_install,那么easy_install pyyaml

于 2013-01-10T15:42:03.043 回答
69

This answers if for MacOS

Update: Nowadays installing is done with pip, and for many users a wheel may be available (depending on your Mac and required version of PyYaml). In some cases libyaml is still required to build the C extension (on mac); this can be done with:

brew install libyaml
python -m pip install pyyaml

Outdated method:

For MacOSX (mavericks), the following works:

brew install libyaml
sudo python -m easy_install pyyaml
于 2014-01-23T19:49:22.233 回答
23
pip install PyYAML

如果未找到或编译 libyaml,PyYAML 可以在 Mavericks 上不使用它。

于 2014-05-12T15:58:56.140 回答
16

有三个支持 YAML 的包。Syck ( pip install syck) 从 2002 年开始实施 YAML 1.0 规范;PyYAML ( pip install pyyaml) 遵循 2004 年的 YAML 1.1 规范;和ruamel.yaml遵循最新的(YAML 1.2,从 2009 年开始)规范。

您可以安装 YAML 1.2 兼容软件包,pip install ruamel.yaml或者如果您正在运行现代版本的 Debian/Ubuntu(或衍生版本),请使用:

sudo apt-get install python-ruamel.yaml
于 2016-03-30T19:17:17.853 回答
9

以下命令将下载pyyaml,其中还包括yaml

pip install pyYaml
于 2019-02-19T18:56:48.850 回答
7

基于 Debian 的系统:

$ sudo aptitude install python-yaml

或更新的python3

$ sudo aptitude install python3-yaml

于 2016-08-12T13:11:24.183 回答
5

“应该有一种——最好只有一种——明显的方法来做到这一点。” 所以让我再添加一个。这个更像是 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 
于 2018-07-24T08:50:39.220 回答
3

考虑改用strictyaml

如果您有幸自己创建 yaml 文件,或者您不需要常规 yaml 的任何这些功能,我建议您使用strictyaml而不是标准pyyaml包。

简而言之,默认的 yaml 在安全性、接口和可预测性方面存在一些严重缺陷。strictyaml是没有这些问题的 yaml 规范的一个子集(并且有更好的文档记录)。

您可以在此处阅读有关常规 yaml 问题的更多信息

意见: strictyaml应该是 yaml 的默认实现,旧的 yaml 规范应该被废弃。

于 2019-05-28T20:01:08.730 回答
1

输入 pip3 install yaml 或类似 Connor pip3 install strictyaml

于 2020-09-14T22:07:34.160 回答
1

对我来说,安装 libyaml 的开发版本就可以了。

yum install libyaml-devel         #centos
apt-get install libyaml-dev       # ubuntu
于 2018-01-18T11:27:28.637 回答