我有一个使用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)
您可以尝试点子中的搜索功能,
$ pip search yaml
在简短描述中使用yaml查找PyPI中的包。这揭示了各种包,包括PyYaml,yamltools和PySyck等(请注意,PySyck docs建议使用PyYaml,因为syck已经过时)。现在您知道一个特定的包名称,您可以安装它:
$ pip install pyyaml
如果你想在Linux系统范围内安装python yaml,你也可以使用包管理器,如aptitude
或yum
:
$ sudo apt-get install python-yaml
$ sudo yum install python-yaml
对我来说,安装libyaml的开发版本就可以了。
yum install libyaml-devel #centos
apt-get install libyaml-dev # ubuntu
pip install pyyaml
如果您没有pip,请运行easy_install pip
来安装pip,这是首选软件包安装程序 - Why use pip over easy_install?。如果你更喜欢坚持使用easy_install,那么easy_install pyyaml
更新:现在使用pip完成安装,但仍然需要libyaml来构建C扩展(在mac上):
brew install libyaml
python -m pip install pyyaml
过时的方法:
对于MacOSX(mavericks),以下似乎有效:
brew install libyaml
sudo python -m easy_install pyyaml
pip install PyYAML
如果没有找到或编译libyaml,PyYAML可以在Mavericks上没有它。
有三个支持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
基于Debian的系统:
$ sudo aptitude install python-yaml
或更新的python3
$ sudo aptitude install python3-yaml
以下命令将下载pyyaml
,其中还包括yaml
pip install pyYaml
如果您有自己创建yaml文件的奢侈,或者如果您不需要常规yaml的any of these features,我建议使用strictyaml
而不是标准的pyyaml
包。
简而言之,默认yaml在安全性,接口和可预测性方面存在一些严重缺陷。 strictyaml
是yaml规范的一个子集,没有这些问题(并且有更好的文档记录)。
你可以阅读更多关于problems with regular yaml here的信息
意见:strictyaml
应该是yaml的默认实现,旧的yaml规范应该被废弃。
“应该有一个 - 最好只有一个 - 显而易见的方法。”所以让我再添一个。这个更像是来自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