Нет модуля с именем 'psycopg2' Ошибка в Scrapy - PullRequest
0 голосов
/ 26 мая 2019

Когда я использую

import psycopg2

in Scrapy pipe.py или spider.py Я получаю следующую ошибку

ModuleNotFoundError: No module named 'psycopg2'

Я знаю, что ошибка не действительна, потому что я использую сервер Django с postgresql, используя тот же venv, который содержит psycopg2.А также я могу подключиться к БД в тестовом файле и запросе.Кроме того, я могу без проблем запустить import psycopg2 в оболочке Scrapy.Так что меня озадачило, что я могу что-то упустить, я ценю, если кто-то может мне помочь,

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Вам нужно установить psycopg2 в вашем virtualenv, введите следующую команду

pip install psycopg2

0 голосов
/ 26 мая 2019

Так как мне потребовались часы, вот что я нашел.

Я тестировал как в Windows, так и в Linux Ubuntu, у обоих была одна и та же ошибка.

Видимо, это то, что происходит:

В Windows у меня был установлен Scrapy на Core, а в Ubuntu, видимо, Scrapy уже упакован.

Я запустил свой сканер в пределах venv, и оказалось, что на самом деле мой Scrapy неправильно установлен вvenve.Однако, поскольку Scrapy уже был в PATH, он работал из Core, где он не был psycopg2.Таким образом, вышеупомянутые ошибки на самом деле произошли не из venv.

Установка Scrapy на первый взгляд выглядела очень просто в venv.Я проверил это, попробовав оболочку Scrapy, и она работала, но на самом деле она снова работала из ядра.Убедитесь, что у вас есть Scrapy в вашем списке pip freeze в вашем venv.Это ссылка , в которой объясняется, как решить некоторые проблемы при установке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...