Python用のyamlパッケージをインストールするにはどうすればよいですか?


346

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)


使用しているプラ​​ットフォームに関する情報を追加します。libyaml。pyyaml.org/wiki/LibYAMLは純粋なpythonパッケージではないため、インストールが異なる可能性があります。
Larry Cai

回答:


567

あなたはpipで検索機能を試すことができます、

$ pip search yaml

これは、短い説明でyamlを使用してPyPIでパッケージを検索します。これにより、PyYaml、yamltools、PySyckなどのさまざまなパッケージが明らかになります(PySyckのドキュメントではsyckが古くなっているため、PyYamlの使用を推奨しています)。特定のパッケージ名がわかったので、それをインストールできます。

$ pip install pyyaml

Linuxでpython yamlをシステム全体にインストールする場合は、aptitudeまたはのようなパッケージマネージャーを使用することもできますyum

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

9
少なくともFedora 21とCentOS 7でのPyYAMLパッケージの名前は単にPyYAMLそうではありませんpython-yaml
TNT

3
PyYAMLは2004年の古いYAML 1.1仕様を実装しています(Syckはさらに古い1.0仕様です)。ruamel.yamlは、YAML1.2仕様を実装した古いバージョンのパッケージになりました
Anthon

では、pipもパッケージマネージャもないシステムを使用している場合はどうなりますか?
FirefoxMetzger 2017

1
あなたができる@FirefoxMetzger のpythonを取得しピップを取得しソースからLibYAMLを構築し、最終的にはPyYAMLとをインストールします。LibYAMLは厳密には必要ありません。PyYAMLは純粋なpythonで動作します(遅いですが)
tutuDajuju

どうもありがとう、あなたの答えは私の質問を完全に解決しました。
wolfog 2018年


49

更新:最近のインストールはpipで行われますが、Cの拡張機能をビルドするにはlibyamlが引き続き必要です(Macの場合):

brew install libyaml
python -m pip install pyyaml

古い方法

MacOSX(mavericks)の場合、以下が機能するようです。

brew install libyaml
sudo python -m easy_install pyyaml

6
私が試したところ、これがOS X Yosemiteの唯一の有効な答えです。
ニマ

1
これは私にとってヨセミテで機能しましたが、brewのpython 2.7.9でのみ機能し、OS X python 2.7.6では機能しませんでした。
David Moles

私が試したところ、これがOS X Lionの唯一の有効な答えでした。本当にありがとう!私は2011年のオペレーティングシステムを使用していたので、それが2020年には働いていなかったと思った
TheTechRobo36414519

20
pip install PyYAML

libyamlが見つからない、またはコンパイルされていない場合、PyYAMLはMavericksでそれを実行できます。


Ubuntu 14.04 LTSで、をlibyaml is not found or a compiler error: forcing --without-libyaml使用するとエラーが発生しましたsudo pip install PyYAML。私は何をすべきか?ありがとう。
hengxin 2014

1
しかし、私は言ったSuccessfully installed PyYAML。詳細については、pip-PyYAMLをご覧ください。再度、感謝します。
hengxin 2014

14

3つのYAML対応パッケージがあります。pip install syck2002年のYAML 1.0仕様を実装するSyck()。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

6

Debianベースのシステム:

$ sudo aptitude install python-yaml

python3以降

$ sudo aptitude install python3-yaml



3

「それを行うための明白な方法は1つあるべきであり、できれば1つだけあるべきです。」もう一つ追加しましょう。これは、https://github.com/yaml/pyyamlからのDebian / Ubuntuの「ソースからのインストール」に似ています。

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 

これは、MacOSにCLoadersを正しくインストールするための唯一の方法でした。私は以前に試しましたbrew install libyaml & pip install pyyamlが、python -c 'from yaml import CSafeLoader'失敗し続けました
Luis Meraz

1

strictyamlを使用する代わりにを

yamlファイルを自分で作成する余裕がある場合、または通常のyamlのこれらの機能を必要としない場合strictyamlは、標準の代わりに使用することをお勧めしますpyyamlパッケージのます。

つまり、デフォルトのyamlには、セキュリティ、インターフェース、予測可能性の点でいくつかの重大な欠陥があります。 strictyamlyaml仕様のサブセットで、これらの問題はありません(ドキュメント化されています)。

通常のyaml問題について詳しくは、こちらをご覧ください。

strictyaml意見 yamlのデフォルト実装でなければならず、古いyaml仕様は廃止されるべきです。


0

私にとっては、libyamlの開発バージョンをインストールすることで実現しました。

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

システム全体にPythonをインストールしていること、そのtit86のx86-64アーキテクチャであること、APTにも同様のコマンドがあるはずであるという説明を含めてください
George Sovetov

1
@GeorgeSovetov完了
Mayank Jaiswal

@MayankJaiswal Python 3の開発バージョンをどのようにインストールしますか?
アミール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.