Как настроить Scrapy, Anaconda 3 и PyCharm 2018.3.5

#scrapy #pycharm #anaconda #python-3.7

#scrapy #pycharm #anaconda #python-3.7

Вопрос:

Я только начал экспериментировать с PyCharm 2018.3.5, Anaconda 2018.12, но у меня возникли большие трудности с их настройкой с помощью Scrapy. Поэтому я хотел бы попросить вас всех о некоторой помощи, чтобы наладить работу. Я следую следующему руководству, чтобы проверить, работает ли Scrapy с PyCharm и Anaconda. Похоже, это не тот случай. Установка выполняется на компьютере с Windows 10 с последними обновлениями.

Я также включил каждый этап процесса установки, и, надеюсь, вы сможете указать, где я ошибся.

  1. Установка Anaconda в папку по умолчанию.
  2. Установите PyCharm в папку по умолчанию.
  3. Установите OpenSSL (для этой версии PyCharm вам необходимо установить это, по-видимому, для того, чтобы оно находило пакеты; ссылка:https://slproweb.com/products/Win32OpenSSL.html ).
  4. Я приступаю к запуску PyCharm и создаю свой первый проект Scrapy, используя следующие настройки: Настройки PyCharm
  5. Я продолжаю ждать, пока PyCharm закончит со всем, а затем открываю Anaconda Navigator, который я буду использовать для установки scrapy и beautifulsoup4. Результат показан на следующем рисунке: Среда Anaconda с Scrapy
  6. В PyCharm Scrapy также виден: Scrapy в PyCharm
  7. Далее я захожу в Explorer и перехожу к C:Usersadmin ManPycharmProjectsTest (обратите внимание, что это тот же каталог, что и на шаге 4).
  8. Итак, сначала я попытался использовать командную строку, но это не удается:

Сбой командной строки

Я читал, что это потому, что приглашение Anaconda что-то делает с путями. Итак, я использовал следующую команду в командной строке Anaconda.

Anaconda запрашивает Scray startproject

Небольшой промежуточный вопрос. Мне было интересно, как я могу заставить это работать в cmd.exe что я сделал в приглашении Anaconda без активации среды. Я думаю, что ответ на этот вопрос дал бы мне лучшее понимание того, что делает Anaconda prompt.

  1. Это удалось, теперь у меня есть следующий каталог:

Каталог проекта Scrapy

  1. Итак, я просто последовал онлайн-руководству и создал следующий spider.

Паук

  1. Затем я настроил следующую конфигурацию

Настройка

Я попытался запустить консоль python и эмулировать параметры, но все это не удалось. Я проверил, есть ли у меня пакет запроса, и у меня есть запрос 2.21.0.

Ошибка, которую я получил, заключается в следующем:

 C:ProgramDataAnaconda3envsTestpython.exe C:/ProgramData/Anaconda3/envs/Test/Lib/site-packages/scrapy/cmdline.py crawl quotes
Traceback (most recent call last):
  File "C:/ProgramData/Anaconda3/envs/Test/Lib/site-packages/scrapy/cmdline.py", line 8, in <module>
    import scrapy
  File "C:ProgramDataAnaconda3envsTestlibsite-packagesscrapy__init__.py", line 27, in <module>
    from . import _monkeypatches
  File "C:ProgramDataAnaconda3envsTestlibsite-packagesscrapy_monkeypatches.py", line 20, in <module>
    import twisted.persisted.styles  # NOQA
  File "C:ProgramDataAnaconda3envsTestlibsite-packagestwistedpersistedstyles.py", line 21, in <module>
    from twisted.python.compat import _PY3, _PYPY
  File "C:ProgramDataAnaconda3envsTestlibsite-packagestwistedpython__init__.py", line 11, in <module>
    from .compat import unicode
  File "C:ProgramDataAnaconda3envsTestlibsite-packagestwistedpythoncompat.py", line 605, in <module>
    from http import cookiejar as cookielib
  File "C:ProgramDataAnaconda3envsTestLibsite-packagesscrapyhttp__init__.py", line 8, in <module>
    from scrapy.http.headers import Headers
  File "C:ProgramDataAnaconda3envsTestlibsite-packagesscrapyhttp__init__.py", line 10, in <module>
    from scrapy.http.request import Request
  File "C:ProgramDataAnaconda3envsTestlibsite-packagesscrapyhttprequest__init__.py", line 8, in <module>
    from w3lib.url import safe_url_string
  File "C:ProgramDataAnaconda3envsTestlibsite-packagesw3liburl.py", line 18, in <module>
    from six.moves.urllib.request import pathname2url, url2pathname
  File "C:ProgramDataAnaconda3envsTestlibsite-packagessix.py", line 92, in __get__
    result = self._resolve()
  File "C:ProgramDataAnaconda3envsTestlibsite-packagessix.py", line 160, in _resolve
    module = _import_module(self.mod)
  File "C:ProgramDataAnaconda3envsTestlibsite-packagessix.py", line 82, in _import_module
    __import__(name)
  File "C:ProgramDataAnaconda3envsTestliburllibrequest.py", line 88, in <module>
    import http.client
ModuleNotFoundError: No module named 'http.client'

Process finished with exit code 1
  

Кто-нибудь знает, как я могу это исправить? Кроме того, я также попытался настроить рабочий каталог на что-то другое, но я не знаю, куда, я попробовал, конечно, каталог проекта.

На самом деле, я могу найти модуль, которого, похоже, не хватает (см. Ниже):

введите описание изображения здесь

Ответ №1:

Все, я нашел ответ. Эта проблема связана с PyCharm 2018.3.5. Я думаю, мне нужно дождаться выпуска PyCharm 2019.1.

Источник: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360002972999-Running-Scrapy-Conda-configuration-throws-error-but-running-in-Anaconda-terminal-doesn-t?input_string=PyCharm, Anaconda3 and Scrapy