问题:如何安装适用于Python的yaml软件包?
我有一个使用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)
回答 0
您可以尝试点子搜索功能,
$ pip search yaml
它在简短说明中使用yaml在PyPI中查找软件包。这揭示了各种软件包,包括PyYaml,yamltools和PySyck等(请注意,PySyck文档建议使用PyYaml,因为syck已过时)。现在您知道了特定的软件包名称,可以安装它:
$ pip install pyyaml
如果要在linux系统范围内安装python yaml,也可以使用软件包管理器,例如aptitude
或yum
:
$ sudo apt-get install python-yaml
$ sudo yum install python-yaml
回答 1
pip install pyyaml
如果没有pip,请运行easy_install pip
安装pip,这是必备的软件包安装程序- 为什么在easy_install上使用pip?。如果您喜欢坚持使用easy_install,则easy_install pyyaml
回答 2
更新:如今,安装已通过pip完成,但仍需要libyaml来构建C扩展(在Mac上):
brew install libyaml
python -m pip install pyyaml
过时的方法:
对于MacOSX(小牛),以下方法似乎有效:
brew install libyaml
sudo python -m easy_install pyyaml
回答 3
pip install PyYAML
如果找不到libyaml或编译的PyYAML可以在Mavericks上不使用它。
回答 4
有三个支持YAML的软件包。Syck(pip install syck
),从2002年开始实施YAML 1.0规范;pip install pyyaml
遵循2004年的YAML 1.1规范的PyYAML();和ruamel.yaml下面的最新(YAML 1.2,从2009年)规范。
您可以使用以下命令安装YAML 1.2兼容软件包,pip install ruamel.yaml
或者如果您正在运行Debian / Ubuntu(或衍生版本)的现代版本,则可以使用:
sudo apt-get install python-ruamel.yaml
回答 5
基于Debian的系统:
$ sudo aptitude install python-yaml
或更高版本的python3
$ sudo aptitude install python3-yaml
回答 6
以下命令将下载pyyaml
,其中还包括yaml
pip install pyYaml
回答 7
“应该有一种-最好只有一种-显而易见的方法。” 因此,我再添加一个。这更像是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
回答 8
使用strictyaml代替
如果您可以自行创建yaml文件,或者不需要常规yaml的任何这些功能,则建议使用pyyaml
软件包。
简而言之,默认yaml在安全性,接口和可预测性方面存在一些严重缺陷。strictyaml
是yaml规范的一个子集,没有这些问题(并且有更好的记录)。
您可以在这里阅读更多有关常规Yaml问题的信息
意见: strictyaml
应为yaml的默认实现,而旧的yaml规范应作废。
回答 9
对我来说,安装libyaml的开发版本即可。
yum install libyaml-devel #centos
apt-get install libyaml-dev # ubuntu