如何解决此ModuleNotFoundError:docker-debian中没有名为'_sqlite3'的模块

时间:2019-03-29 14:16:52

标签: python-3.x scrapy

每次我遇到错误时都试图在docker-debian中运行scrapy spider:

文件“ /usr/local/lib/python3.6/site-packages/scrapy/crawler.py”,第82行,在  爬行      产生self.engine.open_spider(self.spider,start_requests)  builtins.ModuleNotFoundError:没有名为“ _sqlite3”的模块

python版本3.6.3

scrapy 1.6.0

尝试了这篇文章中的说明-ImportError: No module named '_sqlite3' in python3.3 仍然看到此错误。

在终端中键入sqlite3命令时,它将显示sqlite3版本并启动sqlite终端。 SQLite版本3.16.2 2017-01-06

当键入python并在终端中写入下一个命令时:

import sqlite3

得到此错误:

ModuleNotFoundError:没有名为“ _sqlite3”的模块

有什么办法可以解决这个问题?看起来有些配置错误,但我找不到它的位置

2 个答案:

答案 0 :(得分:1)

当我尝试使用 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <p>Boxes in green have the class .toggleBox, those in blue do not. The button below has a click event attached to it and will toggle the boxes with the class .toggleBox to show/hide</p> <button id="toggleButton">Hide/Show</button> <div class="box toggleBox"> A </div> <div class="box toggleBox"> B </div> <div class="box"> C </div> <div class="box toggleBox"> D </div> <div class="box"> E </div> 启动爬虫时,sqlite3 遇到了同样的错误,经过一些搜索并尝试了不同的解决方案后,我发现 this answer 对我的错误。请记住,您需要下载您的特定 python 版本,我的是 3.8.1 并且由于他们的回答它起作用了。我已经使用 scrapy crawl my-crawler 安装了 sqlite3。希望它也适用于您的情况。因此,首先安装它,然后通过链接中的说明重新配置您的 python。

答案 1 :(得分:0)

我在centos中遇到了同样的问题,我只是解决了它。我在pyenv中安装了多个python版本,所以我将python版本从3.6切换到3.4.1,然后问题解决了。可能是pyenv导致的问题,或者是python版本的问题。如果你没有pyenv,也许你需要重新安装python,或者安装不同版本的python。希望对你有所帮助。