安装包pymongo突然提示导入异常记录
- 早上欢欢喜喜来上班,激情满满准备开始一天的工作,满怀敬畏之心执行我完美脚本,突然就来个bug !
- 人生就是这样惊喜和惊吓不知道哪个先来,但是!作为强大的程序猿,惊喜和惊吓都要当做惊喜来对待,因为现在的惊吓很有可能是未来的惊喜!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pymongo'
开始解决bug。。。
- 当然要先找度娘,哦~提示没有模块那就再安装一个呗,于是老老实实执行
pip install pymongo
,接着就测试…惊不惊喜!竟然还不可以
[user_env]$ python
Python 3.6.8 (default, Apr 2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymongo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pymongo'
>>>
- 度娘不靠谱,CSDN大多是COPY,问题没解决咋办!于是下定决心继续找解决办法,我要记录自己的解决方法!
一、既然模块不存在,就看下有哪些包,
方法一:
import sys
sys.path
查看~/.local/lib/python3.6/site-packages
,这个目录里果然没有pymongo
方法二:pip list
,这里也可能有惊喜。。。可能会有pymongo
二、由方法一确认确实缺少pymong
包,用度娘方法刚安装过,为什么还是没有呢?首先需要确认自己安装了pip
,查看~/.local/bin
,我的竟然有3个,分别是pip、pip3、pip3.6
,既然有3个,那就用方法二看下这些pip分别都有哪些包;
又有惊喜!
pip
只有pip、pymongo
两个包
pip3
只有pip、pymongo
两个包
pip3.6
各种包都有
三、这大概就明白了,是使用的Python版本和pip版本不对应导致的,验证一下,分别执行
pip -V
结果对应Python版本是Python3.7
pip3 -V
结果对应Python版本是Python3.7
pip3.6 -V
结果对应Python版本是Python3.6
验证符合猜想,完美地实践验证真理(问题即将解决,自恋一波)
四、开始解决问题。既然是版本问题,把pip
和Python
版本对应就能解决了。我的解决方法是在~/.bashrc
里添加别名alias pip="pip3.6"
,然后source ~/.bashrc
使更改生效,再测试,可以的
五、应该会有其他更好的解决方法,需要你来补充了,对,别看其他人,就是你!