Python için yaml paketini nasıl kurarım?


347

YAML kullanan bir Python programım var. Kullanarak yeni bir sunucuya yüklemeye çalıştım pip install yamlve aşağıdakileri döndürür:

$ 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 için yaml paketini nasıl kurarım? Python 2.7 kullanıyorum. (İS: Debian Wheezy)


hangi platformda kullandığınıza dair bilgi ekleyin. libyaml. pyyaml.org/wiki/LibYAML saf python paketi değil, farklı kuruluma neden olabilir.
Larry Cai

Yanıtlar:


569

Pip'de arama özelliğini deneyebilirsiniz,

$ pip search yaml

kısa açıklamada yaml ile PyPI paketleri arar. Bu, PyYaml, yamltools ve PySyck dahil olmak üzere çeşitli paketleri ortaya çıkarır ( SyS güncel olmadığı için PySyck belgelerinin PyYaml kullanılmasını önerdiğini unutmayın). Şimdi belirli bir paket adını biliyorsunuz, yükleyebilirsiniz:

$ pip install pyyaml

Linux genelinde python yaml sistem genelinde kurmak istiyorsanız, aptitudeveya gibi bir paket yöneticisi de kullanabilirsiniz yum:

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

9
En azından Fedora 21 ve CentOS 7'de PyYAML paketinin adı PyYAMLdeğil python-yaml.
TNT

3
PyYAML, 2004'ten itibaren eski YAML 1.1 spesifikasyonunu uygular (daha da eski 1.0 spesifikasyonunu Syck). ruamel.yaml artık YAML1.2 spesifikasyonunu uygulayan güncel olmayan bir pakettir
Anthon

Ne pip ne de paket yöneticisi olan bir sistemdeysem ne olur?
FirefoxMetzger

1
Eğer yapabilirsiniz @FirefoxMetzger Python elde , Pip olsun , kaynağından LibYAML kurmak ve nihayet PyYAML yükleyin . LibYAML kesinlikle gerekli değildir, çünkü PyYAML saf python ile çalışacaktır (daha yavaş da olsa)
tutuDajuju

çok teşekkürler, cevabım sorumu tamamen çözdü.
wolfog


49

Güncelleme: Günümüzde yükleme pip ile yapılıyor, ancak C uzantısını oluşturmak için hala libyaml gerekiyor (mac'ta):

brew install libyaml
python -m pip install pyyaml

Eski yöntem :

MacOSX (mavericks) için aşağıdakiler işe yarıyor gibi görünüyor:

brew install libyaml
sudo python -m easy_install pyyaml

6
Bu, denediğimde OS X Yosemite için tek çalışan cevap.
Nima

1
Bu benim için Yosemite üzerinde çalıştı, ama sadece demlemek python 2.7.9 ile, OS X python 2.7.6 ile değil.
David Moles

Bu, denediğimde OS X Lion için tek çalışan cevaptı. Çok teşekkürler! 2020'de 2011 işletim sistemi kullandığım için işe yaramadığını düşündüm.
TheTechRobo36414519

20
pip install PyYAML

Libyaml bulunmazsa veya derlenirse PyYAML Mavericks üzerinde olmadan yapabilir.


Ubuntu 14.04 LTS'de libyaml is not found or a compiler error: forcing --without-libyamlkullanırken hatayı aldım sudo pip install PyYAML. Ne yapmalıyım? Teşekkürler.
hengxin

1
Ancak dedim Successfully installed PyYAML. Ayrıntılı bilgi için pip-PyYAML'ye bakınız . Tekrar teşekkürler.
hengxin

14

Üç YAML özellikli paket vardır. 2002'den pip install syckitibaren YAML 1.0 spesifikasyonunu uygulayan Syck ( ); pip install pyyaml2004 YAML 1.1 spesifikasyonunu takip eden PyYAML ( ); ve en son (YAML 1.2, 2009'dan) spesifikasyonu takip eden ruamel.yaml .

YAML 1.2 uyumlu paketi şu şekilde kurabilir pip install ruamel.yamlveya Debian / Ubuntu'nun (veya türevinin) modern bir sürümünü kullanıyorsanız:

sudo apt-get install python-ruamel.yaml

6

Debian tabanlı sistemler:

$ sudo aptitude install python-yaml

veya python3 için daha yeni

$ sudo aptitude install python3-yaml


5

Aşağıdaki komut indirecektir pyyamlde içerecek şekildeyaml

pip install pyYaml

3

"Bunu yapmanın tek ve tercihen tek bir yolu olmalı." Bir tane daha ekleyeyim. Bu daha çok Debian / Ubuntu için "kaynaklardan yükle" ye benzer, https://github.com/yaml/pyyaml ​​adresinden

LibYAML ve başlıklarını kurun:

sudo apt-get install libyaml-dev

Pyyaml ​​kaynaklarını indirin :

wget http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz

Kaynaklardan yükleyin, (venv'inizi etkinleştirmeyi unutmayın):

. 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 

1
Bu, CLoaders'ı MacOS'a doğru bir şekilde kurmamı sağlayan tek yöntemdi. Daha önce denedim brew install libyaml & pip install pyyamlama python -c 'from yaml import CSafeLoader'başarısız olmaya devam etti
Luis Meraz

1

Bunun yerine strictyaml kullan

Yaml dosyasını kendiniz oluşturma lüksünüz varsa veya normal yaml'ın bu özelliklerinden herhangi birine ihtiyacınız yoksa strictyaml, standart pyyamlpaket yerine kullanmanızı öneririz .

Kısacası, varsayılan yaml'ın güvenlik, arayüz ve öngörülebilirlik açısından bazı ciddi kusurları vardır. strictyamlbu sorunlara sahip olmayan (ve daha iyi belgelenmiş) yaml özelliklerinin bir alt kümesidir.

Düzenli yaml ile ilgili sorunlar hakkında daha fazla bilgiyi buradan edinebilirsiniz.

GÖRÜŞ: strictyaml yaml uygulamasının varsayılan uygulaması olmalı ve eski yaml özelliği kaldırılmalıdır.


0

Benim için, libyaml geliştirme sürümünü yükledi.

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

Lütfen, sistem genelinde Python kurulumu, bu tit'in x86-64 mimarisi, APT için benzer bir komut olması gerektiğini ...
George Sovetov

1
@GeorgeSovetov Bitti
Mayank Jaiswal

@MayankJaiswal Python 3 için geliştirme sürümünü nasıl kurarsınız?
Amir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.