2017-05-30 3 views
0

J'installe scrapy sur Ubuntu 12.04, python 3.5.2 dans un virtualenv. J'ai eu tellement de mal à installer le scrapy mais j'ai enfin toutes les exigences installées. J'ai dû installer manuellement torsadé pour terminer l'installation, mais j'ai installé Twisted 17.0. Cependant, lorsque je tente de lancer le tutoriel, je reçois l'erreur suivante:Scrapy "La distribution '' Twisted> = 13.1.0 'n'a pas été trouvée et est requise par Scrapy"

Traceback (most recent call last): 
File "/usr/local/bin/scrapy", line 5, in <module> 
    from pkg_resources import load_entry_point 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2927, in <module> 
@_call_aside 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2913, in _call_aside 
f(*args, **kwargs) 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set 
working_set = WorkingSet._build_master() 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 635, in _build_master 
ws.require(__requires__) 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 943, in require 
needed = self.resolve(parse_requirements(requirements)) 
File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 829, in resolve 
raise DistributionNotFound(req, requirers) 
pkg_resources.DistributionNotFound: The 'Twisted>=13.1.0' distribution was not found and is required by Scrapy 

Twisted 17.0 est installé et semble fonctionner. Quand j'importe un scrapy et que je tord en python, je n'obtiens aucune erreur (il trouve le module), mais en tant que commande, scrapy ne fonctionne pas.

Python 3.5.2 (default, Nov 2 2016, 11:15:44) 
[GCC 4.6.3] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import scrapy 
>>> import twisted 
+0

Est-ce que 'quel scrapy' pointe vers 'bin/scrapy' dans votre virtualenv? –

+0

Alternativement à 'bin/scrapy' que' pip install scrapy' aurait dû installer, vous pouvez essayer 'python -m scrapy.cmdline' comme un alias à' scrapy', par exemple 'python -m scrapy.cmdline version -v' –

+0

Si possible, envisagez de mettre à niveau 'Ubuntu 12.04' - à partir du mois dernier, avril 2017, il ne reçoit plus les mises à jour de sécurité. [Sortie Ubuntu End-Of-Life] (https://www.ubuntu.com/info/release-end-of-life) – chucksmash

Répondre

0

Vous aurez besoin des dépendances de construction installées pour tous les modules d'extension impliqués. Cela va inclure au moins gcc, libffi-dev, et libssl-dev (mais peut-être plus):

sudo apt-get install gcc libffi-dev libssl-dev 

Avec les dépendances de construction installés, vous devez installer tous du logiciel Python dans le virtualenv .

virtualenv --python=python3.5 scrapy-environment 
. scrapy-environment/bin/activate 
pip install scrapy 
scrapy ... 

Si vous rencontrez une erreur avec ceci, vous devez mettre à jour votre question pour inclure les détails de cette erreur.

+0

Merci pour cette réponse. J'ai fini par installer miniconda et installer du scrapy à travers une forge qui fonctionnait parfaitement. Si je dois revenir en arrière et installer sans conda, je vais devoir essayer cette méthode – jDull