Quero instalar o Lxml para poder instalar o Scrapy.
Quando atualizei meu Mac hoje, ele não me permitiu reinstalar o lxml, recebo o seguinte erro:
In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
^
1 error generated.
error: command 'cc' failed with exit status 1
Eu tentei usar o brew para instalar libxml2 e libxslt, ambos instalados bem, mas ainda não consigo instalar o lxml.
A última vez que instalei, eu precisava habilitar as ferramentas de desenvolvedor no Xcode, mas desde que ele foi atualizado para o Xcode 5, ele não me dá mais essa opção.
Alguém sabe o que eu preciso fazer?
pip3.4 install lxml
ouSTATIC_DEPS=true pip3.4 install lxml
comandos se você estiver direcionando uma instalação específica para Python3 (adapte-se à sua versão, a conclusão do bash TAB é sua amiga); para que você instale a versão específica do seu programa de destino que está usando essas / essas bibliotecas. Caso contrário, é fácil gastar 30mn instalar o lib para o intérprete errado ;-)Respostas:
Você deve instalar ou atualizar a ferramenta de linha de comando para o xcode. Tente isso em um terminal:
fonte
Resolvi esse problema no Yosemite instalando e vinculando
libxml2
elibxslt
através do brew:Se você resolveu o problema usando esse método, mas ele aparece novamente mais tarde, talvez seja necessário executá-lo antes das quatro linhas acima:
Se você está tendo erros de permissão com o Homebrew, especialmente no El Capitan, este é um documento útil . Em essência, independentemente da versão do OS X, tente executar:
fonte
xcode-select --install
é um pouco enganadora. Descobri que após a atualização do Mavericks para o Yosemite, eu precisava executarxcode-select --install
novamente para atualizar para as Ferramentas de Linha de Comando do Yosemite. Resolvia (parcialmente) os problemas que eu estava enfrentando e, em qualquer caso, seria inofensivo executar de forma redundante.Você pode resolver seu problema executando isto na linha de comando:
Com certeza me ajudou. Explicações sobre documentos
fonte
Eu tentei a maioria das soluções acima, mas nenhuma delas funcionou para mim. Estou executando o Yosemite 10.10, a única solução que funcionou para mim foi digitar isso no terminal:
EDIT: Se você estiver usando virtualenv, o sudo no início não é necessário.
fonte
virtualenv
nenhum sudo é necessário.OSError: [Errno 1] Operation not permitted: '/usr/bin/build'
apesar de executar o comando como sudo. Alguma ideia?Isso também me incomoda há um tempo. Eu não sei o interior o suficiente sobre distutils python etc, mas o caminho de inclusão aqui está errado. Fiz o seguinte truque feio para me prender até que o pessoal do python lxml possa fazer a correção adequada.
fonte
Instalando globalmente ... OS X 10.9.2
fonte
instruções de instalação em http://lxml.de/installation.html explicam:
fonte
Nenhuma das opções acima funcionou para mim no 10.9.2, pois a compilação falha com o seguinte erro:
O que realmente leva à solução mais limpa (veja mais detalhes em [1]):
ou seguindo se estiver instalando globalmente
[1] clang error: argumento desconhecido: '-mno-fused-madd' (falha na instalação do pacote python)
fonte
/etc/sudoers
comsudo visudo
a preservar as variáveis de ambiente.fonte
sudo
instalar o pip, enquanto outras não. (Eu tive problemas de permissão ao executar o pip install diretamente e tive que sudo.) Só posso supor que eu havia instalado algo relacionado a python como raiz no passado distante, que criou certas pastas (do sistema) como raiz e não como eu.sudo
.Resolvi esse problema
Yosemite
executando os seguintes comandos:fonte
xcode-select install
para mim. Baixei os pacotes libxml2 e libxlst mais recentes (necessários para o lxml), mas antes de instalá-los, pensei em verificar se o Yosemite já possui esses arquivos em algum lugar. Criei um ambiente virtual (usando o virtualenvwrapper)pip install lxml
, e criei, e o lxml instalou sem erros. Testei o lxml raspando a página inicial do google e funcionou bem.Com o homebrew, o libxml2 fica oculto para não interferir com o sistema libxml2, portanto, o pip deve ser ajudado um pouco para encontrá-lo.
Com bash:
Com peixe:
fonte
OSX 10.9.2
fonte
Tentei todas as respostas desta página, nenhuma delas funcionou para mim. Estou executando o OS X versão 10.9.2
Mas isso definitivamente funciona .... como um encanto:
ARCHFLAGS = -Wno-erro = não utilizado-comando-linha-argumento-duro-erro-no-futuro-pip instalar lxml
fonte
export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"
ou você pode adicionar tipos de arquitetura explicitamente assim:export ARCHFLAGS="-arch x86_64 -arch i386 -Wno-error=unused-command-line-argument-hard-error-in-future"
Infelizmente
xcode-select --install
, não funcionou para mim, pois eu já tinha a versão mais recente.É muito estranho, mas resolvi o problema abrindo o XCode e aceitando os Termos e Condições. A nova execução
pip install lxml
não retornou erros depois.fonte
Após a instalação bem-sucedida do pip (lxml 3.6.4), recebi um erro ao importar o módulo lxml.etree.
Eu estava pesquisando infinitamente para instalar isso como requisito para o scrapy e tentei todas as opções, mas finalmente funcionou para mim (mac osx 10.11 python 2.7):
A versão mais antiga do lxml parece funcionar com o módulo etree.
O Pip geralmente pode ignorar a versão especificada de um pacote, por exemplo, quando você tem a versão mais recente no cache do pip, portanto, o
easy_install
. A'-2.7'
opção é para a versão python, omita isso se você estiver instalando para o python 3.x.fonte
No meu caso, devo encerrar o Kaspersky Antivirus antes de instalar o lxml:
fonte
Estou usando o OSX 10.9.2 e recebo o mesmo erro.
A instalação das ferramentas de linha de comando XCode não ajuda nesta versão específica do OSX.
Eu acho que uma abordagem melhor para corrigir isso é instalar com o seguinte comando:
Isso é semelhante à correção do jdkoftinoff ', mas não altera seu sistema de maneira permanente.
fonte
Encontrei a mesma pergunta e, após dias de trabalho, resolvi esse problema no meu OS X 10.9.4, com o Python 3.4.1.
Aqui está a minha solução,
De acordo com a instalação do lxml do lxml.de,
Se você não possui o MacPort, instale-o no MacPort.org . É bem fácil Você também pode precisar de um compilador, para instalar as ferramentas de compilação do XCode, use
xcode-select --install
Em primeiro lugar, atualizei minha porta para a versão mais recente via
sudo port selfupdate
,Então, basta digitar
sudo port install libxml2
e, alguns minutos depois, você verá a libxml2 instalada com sucesso. Provavelmente você também pode precisarlibxslt
instalar o lxml. Para instalar libxslt, use:sudo port install libxslt
.Agora, basta digitar
pip install lxml
, deve funcionar bem.fonte
Antes de compilar, adicione o caminho para xmlversion.h em seu ambiente.
Mas verifique se o caminho que forneci possui o arquivo xmlversion.h localizado dentro. Então,
fonte
pip
não funcionou para mim. Fui para https://pypi.python.org/pypi/lxml/2.3 e baixei o arquivo .egg do macosx:https://pypi.python.org/packages/2.7/l/lxml/lxml-2.3-py2.7-macosx-10.6-intel.egg#md5=52322e4698d68800c6b6aedb0dbe5f34
Em seguida, usei a linha de comando
easy_install
para instalar o.egg
arquivo.fonte
Este post contém links para uma solução que funcionou para mim Python3, lxml e "Símbolo não encontrado: _lzma_auto_decoder" no Mac OS X 10.9
hth
fonte
Após muito arrancamento dos cabelos e ranger dos dentes, desinstalei o xcode com pip e executei:
easy_install lxml
E tudo estava bem.
fonte
Experimentar:
Ou:
Funciona!
fonte