I have a Python program that uses YAML. I attempted to install it on a new server using pip install yaml
and it returns the following:
$ 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
How do I install the yaml package for Python? I'm running Python 2.7. (OS: Debian Wheezy)
"There should be one -- and preferably only one -- obvious way to do it." So let me add another one. This one is more like "install from sources" for Debian/Ubuntu, from https://github.com/yaml/pyyaml
Install the libYAML and it's headers:
Download the pyyaml sources:
Install from sources, (don't forget to activate your venv):
pip install pyyaml
If you don't have pip, run
easy_install pip
to install pip, which is the go-to package installer - Why use pip over easy_install?. If you prefer to stick with easy_install, theneasy_install pyyaml
You could try the search feature in pip,
which looks for packages in PyPI with yaml in the short description. That reveals various packages, including PyYaml, yamltools, and PySyck, among others (Note that PySyck docs recommend using PyYaml, since syck is out of date). Now you know a specific package name, you can install it:
If you want to install python yaml system-wide in linux, you can also use a package manager, like
aptitude
oryum
:For me, installing development version of libyaml did it.
There are three YAML capable packages. Syck (
pip install syck
) which implements the YAML 1.0 specification from 2002; PyYAML (pip install pyyaml
) which follows the YAML 1.1 specification from 2004; and ruamel.yaml which follows the latest (YAML 1.2) specification.You can install the YAML 1.2 compatible package with
pip install ruamel.yaml
or if you are running a modern version of Debian/Ubuntu (or derivative) with:If libyaml is not found or compiled PyYAML can do without it on Mavericks.