J'ai un programme Python qui utilise YAML. J'ai tenté de l'installer sur un nouveau serveur à l'aide de 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
Comment installer le paquet yaml pour Python? J'exécute Python 2.7. (OS: Debian Wheezy)
Vous pouvez essayer la fonction de recherche dans pip,
$ pip search yaml
qui cherche des paquets dans PyPI avec yaml dans la description courte. Cela révèle divers packages, dont PyYaml, yamltools et PySyck, entre autres (Notez que PySyck docs recommande d'utiliser PyYaml, car syck est obsolète). Maintenant que vous connaissez un nom de paquet spécifique, vous pouvez l'installer:
$ pip install pyyaml
Si vous souhaitez installer python yaml à l’échelle du système sous linux, vous pouvez également utiliser un gestionnaire de paquets, tel que aptitude
ou yum
:
$ Sudo apt-get install python-yaml
$ Sudo yum install python-yaml
pip install pyyaml
Si vous n'avez pas pip, exécutez easy_install pip
pour installer pip, qui est le programme d'installation à ne pas manquer - Pourquoi utiliser pip sur easy_install? . Si vous préférez vous en tenir à easy_install, alors easy_install pyyaml
Pour MacOSX (non-conformistes), ce qui suit semble fonctionner:
brew install libyaml
Sudo python -m easy_install pyyaml
pip install PyYAML
Si libyaml n'est pas trouvé ou compilé, PyYAML peut s'en passer sur Mavericks.
Il existe trois packages compatibles YAML. Syck (pip install syck
) qui implémente la spécification YAML 1.0 à partir de 2002; PyYAML (pip install pyyaml
) qui suit la spécification YAML 1.1 de 2004; et ruamel.yaml qui suit la dernière spécification (YAML 1.2, à partir de 2009).
Vous pouvez installer le paquet compatible YAML 1.2 avec pip install ruamel.yaml
ou si vous utilisez une version moderne de Debian/Ubuntu (ou une version dérivée) avec:
Sudo apt-get install python-ruamel.yaml
Systèmes basés sur Debian:
$ Sudo aptitude install python-yaml
ou plus récent pour python3
$ Sudo aptitude install python3-yaml
Si vous avez le luxe de créer le fichier yaml vous-même ou si vous n'avez pas besoin de aucune de ces fonctionnalités de yaml standard, je vous recommande d'utiliser strictyaml
au lieu du paquetage standard pyyaml
.
En bref, yaml par défaut présente de graves défauts en termes de sécurité, d’interface et de prévisibilité. strictyaml
est un sous-ensemble de la spécification yaml qui ne présente pas ces problèmes (et qui est mieux documenté).
Vous pouvez en savoir plus sur les problèmes avec yaml régulière ici
OPINION: strictyaml
devrait être l'implémentation par défaut de yaml et l'ancienne spécification de yaml devrait être obsolète.
la commande suivante va télécharger pyyaml
, qui comprend également yaml
pip install pyYaml
"Il devrait y avoir un - et de préférence un seul - moyen évident de le faire." Alors laissez-moi en ajouter un autre. Celui-ci ressemble plus à "installer à partir des sources" pour Debian/Ubuntu, à partir de https://github.com/yaml/pyyaml
Installez libYAML et ses en-têtes:
Sudo apt-get install libyaml-dev
Téléchargement les sources pyyaml:
wget http://pyyaml.org/download/pyyaml/PyYAML-3.13.tar.gz
Installez depuis les sources (n'oubliez pas d'activer votre 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
Pour moi, l'installation de la version de développement de libyaml l'a fait.
yum install libyaml-devel #centos
apt-get install libyaml-dev # ubuntu