如何安装Python的yaml包?

har*_*lle 316 python yaml pip pyyaml python-2.7

我有一个使用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
Run Code Online (Sandbox Code Playgroud)

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

Bon*_*fum 522

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

$ pip search yaml
Run Code Online (Sandbox Code Playgroud)

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

$ pip install pyyaml
Run Code Online (Sandbox Code Playgroud)

如果你想安装python YAML全系统在Linux中,您还可以使用的软件包管理器,像aptitudeyum:

$ sudo apt-get install python-yaml
$ sudo yum install python-yaml
Run Code Online (Sandbox Code Playgroud)

  • 至少在Fedora 21和CentOS 7上PyYAML包的名称只是`PyYAML`而不是`python-yaml`. (7认同)
  • 有一个变化,@keithpjolley:“pip”不再允许搜索。:D 另一点是,许多 pytonista 似乎更喜欢 `ruamel.yaml`,而不是 `pyyaml`。 (4认同)
  • PyYAML实现了2004年的旧YAML 1.1规范(Syck甚至更旧的1.0规范).ruamel.yaml现在是实现YAML1.2规范的非过时包 (3认同)
  • @phil294你是对的——这是一种耻辱。当我在 2013 年写这个答案时,PyPI 中大约有 10 个“yaml”结果;今天有超过 4500 个;>750 匹配“pyyaml”。在 [pip 搜索如何工作](/sf/answers/3588849771/) 的评论中,我们发现由于 PyPI api,pip 只返回前 100 个结果。但这只是对问题的解释,而不是解决选择合适软件包问题的方法。很乐意提供有关在答案中包含哪些内容的建议 (3认同)

har*_*lle 89

pip install pyyaml

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


tut*_*uju 45

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

brew install libyaml
python -m pip install pyyaml
Run Code Online (Sandbox Code Playgroud)

  • 当我尝试时,这是OS X约塞米蒂的唯一可行答案. (5认同)

bba*_*iee 20

pip install PyYAML
Run Code Online (Sandbox Code Playgroud)

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


Ant*_*hon 13

有三个支持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
Run Code Online (Sandbox Code Playgroud)


小智 7

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

pip install pyYaml
Run Code Online (Sandbox Code Playgroud)


小智 6

基于Debian的系统:

$ sudo aptitude install python-yaml

或更新的python3

$ sudo aptitude install python3-yaml


Ser*_*ash 5

“应该有一种——最好只有一种——明显的方法来做到这一点。” 所以让我再添加一个。这个更像是 Debian/Ubuntu 的“从源代码安装”,来自https://github.com/yaml/pyyaml

安装 libYAML 及其标头:

sudo apt-get install libyaml-dev
Run Code Online (Sandbox Code Playgroud)

下载pyyaml源:

wget http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz
Run Code Online (Sandbox Code Playgroud)

从源代码安装,(不要忘记激活你的 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 
Run Code Online (Sandbox Code Playgroud)

  • 这是我在 MacOS 上正确安装 CLoaders 的唯一方法。我之前尝试过“brew install libyaml & pip install pyyaml”,但是“python -c 'from yaml import CSafeLoader'”一直失败 (2认同)