如何安装Python的yaml包? strictyaml

问题描述 投票:274回答:9

我有一个使用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)

python python-2.7 yaml pip pyyaml
9个回答
495
投票

您可以尝试点子中的搜索功能,

$ 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

0
投票

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

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

86
投票

pip install pyyaml

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


44
投票

更新:现在使用pip完成安装,但仍然需要libyaml来构建C扩展(在mac上):

brew install libyaml
python -m pip install pyyaml

过时的方法:

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

brew install libyaml
sudo python -m easy_install pyyaml

20
投票
pip install PyYAML

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


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

6
投票

基于Debian的系统:

$ sudo aptitude install python-yaml

或更新的python3

$ sudo aptitude install python3-yaml


3
投票

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

pip install pyYaml

2
投票

Use strictyaml instead

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

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

你可以阅读更多关于problems with regular yaml here的信息

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


1
投票

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

安装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 
© www.soinside.com 2019 - 2024. All rights reserved.