Eu tenho um programa Python que usa YAML. Tentei instalá-lo em um novo servidor usando pip install yamle ele retorna o seguinte:
Como instalo o pacote yaml para Python? Estou executando o Python 2.7. (SO: Debian Wheezy)
adicione informações sobre qual plataforma você usa. libyaml. pyyaml.org/wiki/LibYAML não é um pacote python puro, pode causar uma instalação diferente.
Você pode tentar o recurso de pesquisa no pip,
que procura pacotes no PyPI com yaml na breve descrição. Isso revela vários pacotes, incluindo PyYaml, yamltools e PySyck, entre outros (Observe que os documentos do PySyck recomendam o uso do PyYaml, pois o syck está desatualizado). Agora você sabe um nome de pacote específico, você pode instalá-lo:
Se você deseja instalar em todo o sistema python yaml no Linux, você também pode usar um gerenciador de pacotes, como aptitudeou yum:
— Bonlenfum
O nome do pacote PyYAML pelo menos no Fedora 21 e CentOS 7 simplesmente PyYAMLnão é python-yaml.
O PyYAML implementa a antiga especificação YAML 1.1 de 2004 (Syck a especificação 1.0 ainda mais antiga). agora o ruamel.yaml é o pacote não desatualizado que implementa a especificação YAML1.2
E se eu estiver em um sistema sem pip nem gerenciador de pacotes?
— FirefoxMetzger
@FirefoxMetzger, você pode obter python , obter pip , criar LibYAML a partir do código-fonte e finalmente instalar o PyYAML . Libyaml não é estritamente necessário como PyYAML irá trabalhar com python puro (embora mais lento)
muito obrigado, sua resposta resolveu minha pergunta inteiramente.
— wolfog
Se você não possui o pip, execute easy_install pipa instalação do pip, que é o instalador obrigatório do pacote - Por que usar o pip sobre o easy_install? . Se você preferir ficar com o easy_install, entãoeasy_install pyyaml
Atualização: Atualmente a instalação é feita com o pip, mas o libyaml ainda é necessário para criar a extensão C (no mac):
Método desatualizado :
Para o MacOSX (independentes), o seguinte parece funcionar:
Esta é a única resposta funcional para o OS X Yosemite quando tentei.
Isso funcionou para mim no Yosemite, mas apenas com o python 2.7.9 do brew, não com o OS X python 2.7.6.
Esta foi a única resposta útil para o OS X Lion quando tentei. Muito obrigado! Eu pensei que não estava funcionando porque eu estava usando um sistema operacional 2011 em 2020.
Se o libyaml não for encontrado ou compilado, o PyYAML poderá ficar sem ele no Mavericks.
No Ubuntu 14.04 LTS, recebi o erro libyaml is not found or a compiler error: forcing --without-libyamlao usar sudo pip install PyYAML. O que devo fazer? Obrigado.
— Hbxin
No entanto, eu disse Successfully installed PyYAML. Veja pip-PyYAML para informações completas. Obrigado novamente.
Existem três pacotes compatíveis com YAML. Syck ( pip install syck) que implementa a especificação YAML 1.0 de 2002; PyYAML ( pip install pyyaml) que segue a especificação YAML 1.1 de 2004; e ruamel.yaml, que segue a especificação mais recente (YAML 1.2, de 2009).
Você pode instalar o pacote compatível com YAML 1.2 com pip install ruamel.yaml ou se estiver executando uma versão moderna do Debian / Ubuntu (ou derivado) com:
ou mais recente para python3
— hbadger
O seguinte comando será baixado pyyaml, o que também incluiyaml
— Ankit Shukla
"Deve haver uma - e preferencialmente apenas uma - maneira óbvia de fazer isso". Então, deixe-me adicionar outro. Este é mais como "instalar a partir de fontes" para Debian / Ubuntu, em https://github.com/yaml/pyyaml
Instale o libYAML e seus cabeçalhos:
Faça o download das fontes pyyaml:
Instale a partir de fontes (não se esqueça de ativar seu venv):
— Sergey Belash
Este foi o único método que me levou a instalar corretamente os CLoaders no MacOS. Eu já tentei brew install libyaml & pip install pyyaml, mas python -c 'from yaml import CSafeLoader'falhava
— Luis Meraz
Use strictyaml vez
Se você tiver o luxo de criar o arquivo yaml por conta própria ou se não precisar de nenhum desses recursos do yaml comum, recomendo usar em strictyamlvez do padrãopyyaml pacote .
Em resumo, o yaml padrão tem algumas falhas sérias em termos de segurança, interface e previsibilidade. strictyamlé um subconjunto da especificação yaml que não possui esses problemas (e é melhor documentado).
Você pode ler mais sobre os problemas com o yaml regular aqui
PARECER: strictyaml deve ser a implementação padrão do yaml e a especificação antiga do yaml deve ser obsoleta.
Para mim, a instalação da versão de desenvolvimento do libyaml fez isso.
Por favor, inclua explicações de que é a instalação do sistema em Python, a arquitetura x86-64 de tha, que deve haver um comando semelhante para o APT ...