【发布时间】:2019-08-02 19:20:49
【问题描述】:
我刚刚开始尝试 PyCharm 2018.3.5、Anaconda 2018.12,但是我在使用 Scrapy 设置它时遇到了很多困难。因此,我想请大家提供一些帮助,以使事情顺利进行。我正在关注以下tutorial,以测试 Scrapy 是否适用于 PyCharm 和 Anaconda。情况似乎并非如此。设置是在装有最新更新的 Windows 10 机器上完成的。
我还包括了安装过程的每个步骤,希望您能指出我出错的地方。
- 在默认位置安装 Anaconda。
- 在默认位置安装 PyCharm。
- 安装 OpenSSL(对于这个版本的 PyCharm,您显然需要安装它才能找到包;链接:https://slproweb.com/products/Win32OpenSSL.html)。
- 我继续启动 PyCharm 并使用以下设置创建我的第一个 Scrapy 项目:
- 我继续等到 PyCharm 完成所有操作,然后打开 Anaconda Navigator,我将使用它来安装 scrapy 和 beautifulsoup4。下图显示了结果:
- 在 PyCharm 中,Scrapy 也是可见的:
- 接下来,我进入资源管理器并导航到
C:\Users\admin Man\PycharmProjects\Test(请注意,这与步骤 4 中的目录相同)。 - 所以,我首先尝试使用命令提示符,但失败了:
我读到这是因为 Anaconda Prompt 对路径做了一些事情。所以我在 Anaconda Prompt 中使用了以下命令。
中间有个小问题。我想知道如何让它在 cmd.exe 中工作,就像我在 Anaconda 提示符下所做的那样,而无需激活环境。我认为回答这个问题会让我更好地理解 Anaconda 提示符的作用。
- 这样就成功了,现在我有了以下目录:
- 所以我只是按照在线教程创建了以下蜘蛛。
- 然后我设置如下配置
我尝试使用 python 控制台和模拟选项运行,但都失败了。我检查了我是否有请求包,我有请求 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
有没有人可以解决它?另外,我也试过把工作目录设置成别的东西,但不知道在哪里,我当然试过项目目录。
实际上,我可以找到它似乎缺少的模块(见下文):
【问题讨论】:
标签: scrapy pycharm anaconda python-3.7