python - 当scrapy在conda虚拟环境中时,如何在pycharm中调试scrapy
问题描述
当从 conda 虚拟环境运行 scrappy 时,我正在尝试使用 pycharm 调试 scrapy。
我按照这个链接如何使用 PyCharm 调试 Scrapy 项目,它通常可以工作,但是如果我从 conda 虚拟环境中使用 scrapy,我会得到
导入 http.client ModuleNotFoundError:没有名为“http.client”的模块
在“常规”(venv)环境中,它可以完美运行。
我查了一下,虚拟环境确实有http.client。还导入了同一文件夹中的其他库(例如 hashlib.py)。
这是我正在运行的文件中的代码
from scrapy import cmdline
cmdline.execute("scrapy crawl my_spider".split())
我已经尝试将虚拟环境的路径添加到 PYTHONPATH
更新:我添加了有关如何重现此错误的步骤:
创建一个 conda 环境 conda create -n testenv1 python=3.7
安装 scrapy 并创建一个项目和 spider pip install scrapy cd D:\Learn\scrapy scrapy startproject test1 cd test1 scrapy genspider googspid google.com
在 scrapy 项目的根目录(scrapy.cfg 所在的位置)中创建一个 pycharm 项目,然后从刚刚创建的虚拟环境中选择 python.exe 作为解释器
按照上面链接的最佳答案,你会得到这个错误 ModuleNotFoundError: No module named 'http.client'
解决方案
如果您正在创建一个 PyCharm 运行配置来运行 Scrapy,那么该运行配置需要使用相同的虚拟环境;您可以通过Project Settings > Python Interpreter
查找(或手动添加)virtualenv 的 Python 可执行文件作为项目的 Python 解释器(或特定运行配置,如果您愿意)来执行此操作。