如何设置Scrapy、Anaconda 3和PyCharm 2018.3.5

How to set up Scrapy, Anaconda 3 and PyCharm 2018.3.5

我刚开始尝试PyCharm 2018.3.5,Anaconda 2018.12,但是我在用Scrapy设置它时遇到了很多困难。因此,我想请大家提供一些帮助,以便让事情顺利进行 运行ning。我正在关注以下 tutorial 以测试 Scrapy 是否适用于 PyCharm 和 Anaconda。情况似乎并非如此。设置是在 Windows 10 机器上完成的,具有最新更新。

我还包括了安装过程的每一步,希望您能指出我哪里出错了。

  1. 正在默认位置安装 Anaconda。
  2. 在默认位置安装 PyCharm。
  3. 安装 OpenSSL(对于此版本的 PyCharm,您显然需要安装它才能找到软件包;link:https://slproweb.com/products/Win32OpenSSL.html)。
  4. 我开始 PyCharm 并使用以下设置创建我的第一个 Scrapy 项目:
  5. 我继续等到 PyCharm 完成所有事情,然后我打开 Anaconda Navigator,我将使用它来安装 scrapybeautifulsoup4。下图显示了结果:
  6. 在PyCharm中,Scrapy也是可见的:
  7. 接下来,我进入资源管理器并导航到 C:\Users\admin Man\PycharmProjects\Test(请注意,这是与步骤 4 中相同的目录)。
  8. 所以,首先我尝试使用命令提示符,但是失败了:

我了解到这是因为 Anaconda Prompt 对路径做了一些处理。所以我在 Anaconda Prompt 中使用了以下命令。

中间有个小问题。我想知道如何在不激活环境 的情况下使它在 cmd.exe 中像我在 Anaconda 提示符中所做的那样工作。我认为回答这个问题会让我更好地理解 Anaconda 提示符的作用。

  1. 这成功了,现在我有以下目录:

  1. 所以我只是按照网上的教程创建了以下蜘蛛。

  1. 然后我设置如下配置

我尝试 运行 使用 python 控制台和模拟选项,但都失败了。我查了下有没有request包,有request 2.21.0.

我得到的错误如下:

C:\ProgramData\Anaconda3\envs\Test\python.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:\ProgramData\Anaconda3\envs\Test\lib\site-packages\scrapy\__init__.py", line 27, in <module>
    from . import _monkeypatches
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\scrapy\_monkeypatches.py", line 20, in <module>
    import twisted.persisted.styles  # NOQA
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\twisted\persisted\styles.py", line 21, in <module>
    from twisted.python.compat import _PY3, _PYPY
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\twisted\python\__init__.py", line 11, in <module>
    from .compat import unicode
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\twisted\python\compat.py", line 605, in <module>
    from http import cookiejar as cookielib
  File "C:\ProgramData\Anaconda3\envs\Test\Lib\site-packages\scrapy\http\__init__.py", line 8, in <module>
    from scrapy.http.headers import Headers
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\scrapy\http\__init__.py", line 10, in <module>
    from scrapy.http.request import Request
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\scrapy\http\request\__init__.py", line 8, in <module>
    from w3lib.url import safe_url_string
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\w3lib\url.py", line 18, in <module>
    from six.moves.urllib.request import pathname2url, url2pathname
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\six.py", line 92, in __get__
    result = self._resolve()
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\six.py", line 160, in _resolve
    module = _import_module(self.mod)
  File "C:\ProgramData\Anaconda3\envs\Test\lib\site-packages\six.py", line 82, in _import_module
    __import__(name)
  File "C:\ProgramData\Anaconda3\envs\Test\lib\urllib\request.py", line 88, in <module>
    import http.client
ModuleNotFoundError: No module named 'http.client'

Process finished with exit code 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%2C%20Anaconda3%20and%20Scrapy