Pergunta

Eu tenho virtualenv com --no-site-packages opção. estou a usar Scrapy iniciar. Usos de scrapy libxml2 por import libxml2. Como instalar libxml2 no virtualenv usando pip ou easy_install?

Foi útil?

Outras dicas

Libxml2 é uma biblioteca C não é um pacote Python, portanto você não pode usar o PIP para instalá -lo. Normalmente, ele já está instalado em quase todas as distroções do Linux por aí. Se você precisar instalá -lo, é apenas

sudo apt-get install libxml2

Se, por algum motivo, você precisar absolutamente ter uma instalação local, precisará pegar e instalar o pacote .deb ou o RPM. Salvo, você pode baixar a fonte e construí -la.

Se você está bem com o uso da cópia comum, mas não deseja ter/usr/local/no seu caminho, basta simplificá -la dentro do seu VirtualEnv.

Você pode encontrar mais informações (do que provavelmente queria) em http://xmlsoft.org/

O scrapy lista -o em seus requisitos:

  • Python 2.5 ou acima
  • Twisted 2.5.0 ou acima
  • libxml2 2.6.28 ou superior (incluindo bidirpings em python)
  • PyoPenssl - Somente se você quiser rastejar páginas seguras (https)

Antes de instalar LXML (no Debian):

apt-get install libxml2-dev libxslt1-dev pythonX.X-dev -y

Onde pythonX.X é python2.7 ou python2.6 ou outra versão em python agulhada.

Após a instalação dos pacotes do sistema:

workon %environment_name%
pip install lxml --upgrade

Acabei de chegar a esse problema, com o Ubuntu 14.04 Kernel.

Eu já instalei LXML usando PIP.

Quando eu tento pip install lxml --upgrade Dentro do VirtualEnv, sempre me dava um

X86_64-GNU-GCC Exit 1

Eu resolvi isso usando sudo apt-get install libssl-dev.

Como alternativa, se você estiver no Windows, como eu suspeito de sua pergunta, você precisa obter o binário Libxml2- existem links no local da scrapy e, a partir de novembro de 2010, uma versão foi compilada que funcionará com tudo- - ou obtenha a versão atual do tronco/dev do SCRAPY, que funciona com o LXML2. Para o VirtualEnv, como não tenho certeza de como configurar com um binário extra, a última abordagem pode ser melhor. Eu adotei a última abordagem e funciona perfeitamente para mim até agora. Graças a Pablo Hoffman, o criador ultra-helposo de Scrapy (quando publiquei uma pergunta muito parecida com esta na lista de discussão do Scrapy, ele divulgou essa mudança para o Trunk quase no dia seguinte). NOTA: O binário libxml2 que funcionou com o Python 2.7 ainda não estava disponível naquele momento.

Se você instalou Python-Libxml2 Usando o apt-get (ou outro gerenciador de pacotes), você pode acessá-lo do VirtualEnv com o --system-site-packages bandeira.

Ao criar seu virtualEnv, basta especificar este sinalizador, por exemplo:

virtualenv --system-site-packages env

Dessa forma, seu virtualENV herdará o pacote libxml2, que é instalado em amplo sistema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top