Jupyter报ModuleNotFoundError: No module named 'twint'如何解决
ModuleNotFoundError: No module named 'twint' 排查修复方案
这类问题的核心原因几乎都是:cmd中执行安装命令时使用的pip,和Jupyter当前运行代码调用的Python解释器不属于同一个环境,twint包没有被安装到Jupyter实际读取包的路径下。
第一步:定位环境差异
先分别确认两个端的Python路径,验证是否匹配:
- 确认cmd端的安装路径:在cmd中依次执行以下命令
- 执行
where python,记录输出的Python3.7安装路径 - 执行
pip --version,确认输出的包存储路径和上面的Python3.7路径对应 - 执行
pip list | findstr twint,如果能返回twint的版本号,说明cmd侧的twint安装本身是成功的
- 执行
- 确认Jupyter端的解释器路径:在Jupyter代码单元格中运行以下代码
import sys print(sys.executable)
对比这里输出的Python路径和cmd中查到的路径,如果不一致,就会触发模块找不到的报错。
修复方案
方案1:直接给Jupyter当前环境装twint
不需要切换环境,在Jupyter的代码单元格中直接执行以下命令,调用当前kernel对应的pip安装twint即可:
import sys !{sys.executable} -m pip install twint
命令执行完成后,重启Jupyter的kernel,再尝试import twint即可正常导入。
方案2:将cmd中已装twint的Python3.7环境注册为Jupyter可用kernel
如果需要复用cmd里已经配好的Python3.7环境,按以下步骤操作:
- 回到cmd,激活安装了twint的Python3.7环境,执行
pip install ipykernel安装内核依赖 - 执行注册命令,可自行替换
py37_twint为你容易识别的内核名称:python -m ipykernel install --name py37_twint --user - 重启Jupyter,在kernel切换菜单或新建Notebook的选项中,选择刚注册的对应Python3.7的内核,即可正常导入twint。
异常情况排查
如果上述操作后仍报错,检查两类常见问题:
- 安装过程中网络中断导致包文件损坏:在对应环境中先执行
pip uninstall twint -y卸载残留,再重新执行安装命令 - 多版本Python冲突:如果本地装了多个Python版本,不要直接用
pip install命令装包,改用目标Python解释器全路径调用pip安装,避免装错环境,例如你的Python3.7安装路径\python.exe -m pip install twint
内容的提问来源于stack exchange,提问作者naji
相关产品推荐
相关产品推荐

