Scrapy中没有名为“ psycopg2”的模块错误

时间:2019-05-26 03:43:29

标签: postgresql scrapy

当我使用

import psycopg2

Scrapy pipeline.py spider.py 中,出现以下错误

ModuleNotFoundError: No module named 'psycopg2'

我知道该错误无效,因为我正在使用包含psycopg2的相同venv和PostgreSQL运行Django服务器。而且我还可以在测试文件和查询中连接到db。另外,我可以在Scrapy shell中运行 import psycopg2 ,没有问题。所以让我感到困惑的是,我可能会缺少一些东西, 我很感谢有人可以帮助我,

2 个答案:

答案 0 :(得分:0)

因为花了我几个小时,这才是我发现的。

我在Windows和Linux Ubuntu中都进行了测试,两者都有相同的错误。

显然这是发生了什么

在Windows中,我在Core上安装了Scrapy,在Ubuntu中,显然Scrapy已被包装。

我在venv中运行了我的履带,看来实际上我的Scrapy没有正确安装在venve中。但是,由于Scrapy已经在PATH中,因此它是从Core(不是psycopg2)运行的。因此,上述错误实际上来自venv。

首先在venv中安装Scrapy看起来很简单。我通过尝试Scrapy shell进行了检查,它正在运行,但是实际上它又是从内核运行的。确保venv的 pip Frozen 列表中有Scrapy。这是link,说明了如何解决安装中的某些问题。

答案 1 :(得分:0)

您需要在virtualenv中安装psycopg2,发出下一条命令

  

pip安装psycopg2