当前位置:网站首页>关于运行scrapy项目时提示 ModuleNotFoundError: No module named 'pymongo‘的解决方案
关于运行scrapy项目时提示 ModuleNotFoundError: No module named 'pymongo‘的解决方案
2022-06-25 22:10:00 【落墨画雪】
1问题描述
今天使用scrapy框架写爬虫并且使用mongodb存储结果时,在powershell中运行scrapy crawl demo发现报错,报错内容是No module named 'pymongo‘,即,没有找到pymongo模块,但是笔者确确实实的下载过这个模块,那么到底是怎么回事呢?
2问题分析
首先,需要指出的是,一定是环境问题。是否是多python版本共存?笔者的电脑里同时存在着Python2.7和python3.6,当初是安装anaconda时,默认安装了前者,后者是工作学习需要,同时Python2将被淘汰,安装了Python3,导致当前笔者的电脑里同时存有两个环境,而,笔者先前将pymongo安装在了python36中,并没有安装在Python27中,导致在powershell中运行scrapy时默认使用了python2.7,所以导致了上述报错,那么到底是不是呢?
3验证假设
验证假设最好的方法就是去尝试,这里笔者先贴出powershell中的错误:
这里先尝试在默认的Python27环境中同样也下载这个pymongo模块,再运行一遍,看看是否报错,结果如下:
发现能够正确运行了,看来是这个问题,即直接在终端运行scrapy程序会默认使用conda的Python默认路径,即我这里是Python2.7。
4其他
这里使用cmd终端方法来试试,因为powershell算是cmd升级版本,笔者经过测试(先卸载Python2.7的pymongo再安装)分别测试发现,确实是这个conda的默认环境导致的问题,但是在笔者测试的过程中,还发现了一个powershell问题,即不能够像cmd切换环境:如下分别是在cmd和powershell中的切换Python环境的调试
conda activate python版本号
我这里是36,因为当初安装conda时默认的27
conda activate Python36

发现成功的切换环境,但是在powershell中就不可以
因此,这里需要注意,但是既然在cmd中可以切换环境,那么因为我最开始的scrapy是在python36中写的,出错原因是powershell只认识默认的Python27版本,而我在Python27中没有安装pymongo,在Python36中安装了这个模块,那么我在cmd中切换成Python36后再运行scrapy文件不就可以吗?
实践出真知:
确实可行
5总结
很多人因为工作学习需要,会在电脑中同时存在多个Python版本,
(1)在powershell运行scrapy文件程序时,会默认使用conda默认的环境,如果该默认环境中没有装有对应的第三方模块时,就会出现类似的找不到模块的错误,因此可以在默认的环境下也安装一样的模块,同时继续使用powershell启动;
(2)由于笔者在上面分析中发现,powershell无法切换环境,如果不非要使用powershell,可以在终端cmd中,切换Python解释器后,因为pymongo安装在Python36中了,切换后就可以直接运行。
总之,如果没有多版本共存问题,就不会出现本文问题;同时如果powershell可以切换版本也会节省很多debug时间。
边栏推荐
- C# IO Stream 流(二)扩展类_封装器
- 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式
- One article explains R & D efficiency! Your concerns are
- debezium
- IDEA常用快捷键
- Kotlin null pointer bug
- 两种块级元素居中的方式
- MySQL InnoDB锁知识点
- Screen recording to GIF is an easy-to-use gadget, screentogif, which is free and easy to use!
- 寻找翻转数组的最小值[抽象二分]
猜你喜欢

Architecture part -- the use of UMI framework and DVA

6.常用指令(上)v-cloak,v-once,v-pre

Uniapp -- list page of multi header tabs

Leetcode-1528- rearrange string - hash table - string

一文讲透研发效能!您关心的问题都在

Gradle的环境安装与配置

Screen recording to GIF is an easy-to-use gadget, screentogif, which is free and easy to use!

先序线索二叉树

MySQL version upgrade + data migration

懒人教你用猕猴桃一月饱减16斤_过路老熊_新浪博客
随机推荐
On the quantity control mechanism of swoole collaboration creation in production environment
数据同步
YUV444、YUV422、YUV420、YUV420P、YUV420SP、YV12、YU12、NV12、NV21
1.8 billion pixel Mars panorama Ultra HD released by NASA, very shocking
How does excel translate Chinese words into English automatically? This formula teaches you
Megacli常用命令整理
Blob
The simplest screen recording to GIF gadget in history, licecap, can be tried if the requirements are not high
两种块级元素居中的方式
Common methods of object class
OpenResty篇01-入门简介和安装配置
SSM整合学习笔记(主要是思路)
请问可以不部署服务端实现图片上传吗?
xtrabackup的备份还原
Record a simple question with ideas at the moment of brushing leetcode - Sword finger offer 09 Implementing queues with two stacks
Problems encountered in Doris operation and maintenance
搜索旋转数组II[抽象二分练习]
懒人教你用猕猴桃一月饱减16斤_过路老熊_新浪博客
One article explains R & D efficiency! Your concerns are
权限设计=功能权限+数据权限