library instalar docs como python python-2.7 scrapy

instalar - scrapy python library



Scrapy lanza ImportError: no se puede importar el nombre xmlrpc_client (6)

Acabo de solucionar este problema en mi OS X.

Haga una copia de seguridad de sus archivos primero.

sudo rm -rf /Library/Python/2.7/site-packages/six* sudo rm -rf /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six* sudo pip install six

Scrapy 1.0.0 está listo para funcionar.

Si encuentra un error rm: /System/Library/... Operation not permitted

Intente desactivar la protección de integridad del sistema
Ver Operación no permitida cuando en la raíz El capitan (rootless deshabilitado)

Después de instalar Scrapy a través de pip, y tener Python 2.7.10 :

scrapy Traceback (most recent call last): File "/usr/local/bin/scrapy", line 7, in <module> from scrapy.cmdline import execute File "/Library/Python/2.7/site-packages/scrapy/__init__.py", line 48, in <module> from scrapy.spiders import Spider File "/Library/Python/2.7/site-packages/scrapy/spiders/__init__.py", line 10, in <module> from scrapy.http import Request File "/Library/Python/2.7/site-packages/scrapy/http/__init__.py", line 12, in <module> from scrapy.http.request.rpc import XmlRpcRequest File "/Library/Python/2.7/site-packages/scrapy/http/request/rpc.py", line 7, in <module> from six.moves import xmlrpc_client as xmlrpclib ImportError: cannot import name xmlrpc_client

Pero puedo importar el módulo:

Python 2.7.10 (default, Jun 10 2015, 19:42:47) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import scrapy >>>

¿Que esta pasando?


Creo que la mejor solución para OS X debería ser "No usar Python del sistema". Hará la vida más fácil. Este enlace muestra cómo hacer esto.

Hay un problema conocido que impide que pip actualice los paquetes del sistema. Esto debe abordarse para instalar con éxito Scrapy y sus dependencias. Aquí hay algunas soluciones propuestas:

(Recomendado) No use el sistema python, instale una nueva versión actualizada que no entre en conflicto con el resto de su sistema. Aquí le mostramos cómo hacerlo usando el administrador de paquetes homebrew:

  1. Instale homebrew siguiendo las instrucciones en http://brew.sh/
  2. Actualice su variable PATH para indicar que los paquetes homebrew se deben usar antes de los paquetes del sistema (Cambie .bashrc a .zshrc de forma concordante si está usando zsh como shell predeterminado):

echo "export PATH = / usr / local / bin: / usr / local / sbin: $ PATH" >> ~ / .bashrc

  1. Recargue .bashrc para asegurarse de que los cambios hayan tenido lugar:

fuente ~ / .bashrc

  1. Instalar Python:

brew instalar python

  1. Las versiones más recientes de python tienen un paquete con ellos, por lo que no será necesario instalarlo por separado. Si este no es el caso, actualice Python:

actualización de cerveza; brew actualización de python


Este es un problema conocido en Mac OSX para Scrapy. Puedes consultar este enlace .

Básicamente, el problema es con PYTHONPATH en su sistema. Para resolver el problema, cambie la PYTHONPATH actual para que apunte a la versión de Python de Mac OSX más nueva o inexistente. Antes de ejecutar Scrapy, intente:

export PYTHONPATH=/Library/Python/2.7/site-packages:$PYTHONPATH

Si eso funcionó, puedes cambiar el archivo .bashrc permanentemente:

echo "export PYTHONPATH=/Library/Python/2.7/site-packages:$PYTHONPATH" >> ~/.bashrc

Si nada de esto funciona, eche un vistazo al enlace de arriba.


Mejor que degradar Scrapy es actualizar tu versión de seis:

pip install --upgrade six scrapy

Esto le permitirá usar todas las cosas buenas de Scrapy 1.0;)


Solo tuve el mismo problema. Prueba esto:

sudo pip uninstall scrapy

sudo pip install scrapy == 0.24.2

Entonces pruébalo


Tuve el mismo problema exacto al actualizar a Scrapy 1.0. Después de numerosas reparaciones, la solución que funcionó para mí fue desinstalar seis con pip:

sudo pip desinstalar seis

luego reinstalar seis vía easy_install

easy_install six

Espero que eso funcione!