如何安装Python的yaml包?

时间:2013-01-10 15:42:03

标签: python python-2.7 yaml pip pyyaml

我有一个使用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。 (OS:Debian Wheezy)

11 个答案:

答案 0 :(得分:460)

你可以在pip中尝试搜索功能,

$ pip search yaml

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

$ pip install pyyaml

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

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

答案 1 :(得分:82)

pip install pyyaml

如果你没有pip,请运行easy_install pip安装pip,这是首选软件包安装程序 - Why use pip over easy_install?。如果您更喜欢使用easy_install,那么easy_install pyyaml

答案 2 :(得分:40)

对于MacOSX(mavericks),以下似乎有效:

brew install libyaml
sudo python -m easy_install pyyaml

答案 3 :(得分:19)

pip install PyYAML

如果没有找到或编译libyaml,PyYAML可以在Mavericks上没有它。

答案 4 :(得分:12)

有三种支持YAML的软件包。 Syck(pip install syck),它实现了2002年的YAML 1.0规范; PyYAML(pip install pyyaml)遵循2004年的YAML 1.1规范;和ruamel.yaml遵循最新的(YAML 1.2,从2009年)规范。

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

sudo apt-get install python-ruamel.yaml

答案 5 :(得分:6)

基于Debian的系统:

$ sudo aptitude install python-yaml

或更新的python3

$ sudo aptitude install python3-yaml

答案 6 :(得分:1)

“应该有一种-最好只有一种-显而易见的方法。”因此,我再添加一个。这个更像是Debian / Ubuntu的“从源代码安装”,来自https://github.com/yaml/pyyaml

安装libYAML及其标题:

sudo apt-get install libyaml-dev

Download 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 

答案 7 :(得分:1)

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

pip install pyYaml

答案 8 :(得分:0)

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

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

答案 9 :(得分:0)

改为使用strictyaml

如果您可以自己创建yaml文件,或者不需要any of these features的常规yaml,建议您使用strictyaml而不是标准的pyyaml软件包。

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

您可以阅读有关problems with regular yaml here

的更多信息

意见strictyaml应该是yaml的默认实现,而旧的yaml规范应该被淘汰。

答案 10 :(得分:0)

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