这种类似的问题遇到好多次了……今天使用pip install pyspellchecker安装spellchecker,但是报错:

from spellchecker import SpellChecker
ModuleNotFoundError: No module named 'spellchecker'

排除路径错误或命名冲突等问题,发现程序在执行时没有找到这个库,尝试添加环境变量,使用如下命令:

export PYTHONPATH=path:$PYTHONPATH

其中path替换为安装的模块所在的目录,比如:

/root/anaconda3/envs/torch/lib/python3.6/site-packages

这个问题就迎刃而解了。然后又想到前段时间安装sentence transformer,导入的时候遇到类似的报错:

Traceback (most recent call last):File "/data/WWW/extra/TextEncoder/sentence_transformer.py", line 12, in <module>from sentence_transformers import SentenceTransformer, utilFile "/usr/local/lib/python3.8/dist-packages/sentence_transformers/__init__.py", line 3, in <module>from .datasets import SentencesDataset, ParallelSentencesDatasetFile "/usr/local/lib/python3.8/dist-packages/sentence_transformers/datasets/__init__.py", line 1, in <module>from .DenoisingAutoEncoderDataset import DenoisingAutoEncoderDatasetFile "/usr/local/lib/python3.8/dist-packages/sentence_transformers/datasets/DenoisingAutoEncoderDataset.py", line 1, in <module>from torch.utils.data import DatasetFile "/usr/local/lib/python3.8/dist-packages/torch/__init__.py", line 203, in <module>from torch._C import _initExtension
ImportError: cannot import name '_initExtension'

从报错中我发现问题所在,果然是程序寻找的路径出现了问题——sentence-transformer是安装在python3.6的torch环境下的,但程序是在python3.8的base环境中执行(虽然我明明在torch环境下运行的程序),这样肯定是找不到的。所以和上述解决方案一样,添加python3.6的环境变量。

export PYTHONPATH=/root/anaconda3/envs/torch/lib/python3.6/site-packages:$PYTHONPATH

再次执行就可以成功运行啦!

(torch) root@1c113923969c:/data/WWW# python /data/WWW/extra/TextEncoder/sentence_transformer.py
Downloading: 100%|#######################################################################################################################################################################################################| 1.18k/1.18k [00:00<00:00, 763kB/s]
Downloading: 100%|###########################################################################################################################################################################################################| 190/190 [00:00<00:00, 128kB/s]
Downloading: 100%|######################################################################################################################################################################################################| 10.6k/10.6k [00:00<00:00, 6.07MB/s]
Downloading: 100%|###########################################################################################################################################################################################################| 612/612 [00:00<00:00, 408kB/s]
Downloading: 100%|##########################################################################################################################################################################################################| 116/116 [00:00<00:00, 75.3kB/s]
Downloading: 100%|######################################################################################################################################################################################################| 39.3k/39.3k [00:00<00:00, 65.5kB/s]
Downloading: 100%|######################################################################################################################################################################################################| 90.9M/90.9M [00:02<00:00, 35.7MB/s]
Downloading: 100%|########################################################################################################################################################################################################| 53.0/53.0 [00:00<00:00, 40.7kB/s]
Downloading: 100%|##########################################################################################################################################################################################################| 112/112 [00:00<00:00, 92.8kB/s]
Downloading: 100%|#########################################################################################################################################################################################################| 466k/466k [00:04<00:00, 101kB/s]
Downloading: 100%|###########################################################################################################################################################################################################| 350/350 [00:00<00:00, 280kB/s]
Downloading: 100%|######################################################################################################################################################################################################| 13.2k/13.2k [00:00<00:00, 8.99MB/s]
Downloading: 100%|########################################################################################################################################################################################################| 232k/232k [00:03<00:00, 74.6kB/s]
Downloading: 100%|###########################################################################################################################################################################################################| 349/349 [00:00<00:00, 291kB/s]The cat sits outside             The dog plays in the garden             Score: 0.2838
A man is playing guitar                  A woman watches TV              Score: -0.0327
The new movie is awesome                 The new movie is so great               Score: 0.8939
Sentence: This framework generates embeddings for each input sentence
Embedding: [-1.37173524e-02 -4.28515933e-02 -1.56286098e-02  1.40537601e-02

还有一种可能是 pip install 的时候并没有安装到指定的虚拟环境中,所以在安装过程中我们可以设置超参数来指定pip安装的虚拟环境,以安装opencv-python为例:

pip install --target=/root/anaconda3/envs/torch/lib/python3.6/site-packages  opencv-python==4.2.0.34  -i  https://pypi.doubanio.com/simple

其中env_name是目标虚拟环境名称,-i https://pypi.doubanio.com/simple是镜像。

到这里,安装就可以完成了,但还是友情提示一下:

--target一定不要写错!最保险的做法是写成绝对路径的形式

因为我发现当我使用相对路径的写法

pip install --target=~/anaconda3/envs/env_name/lib/python3.6/site-packages opencv-python==4.2.0.34  -i  https://pypi.doubanio.com/simple

还是会报错,而且没有找到安装的spellchecker

(torch) root@1c113923969c:~# pip install --target=~/anaconda3/envs/torch/lib/python3.6/site-packages pyspellchecker
Collecting pyspellcheckerUsing cached pyspellchecker-0.7.0-py3-none-any.whl (2.5 MB)
Installing collected packages: pyspellchecker
Successfully installed pyspellchecker-0.7.0
(torch) root@1c113923969c:~# python
Python 3.6.12 |Anaconda, Inc.| (default, Sep  8 2020, 23:10:56)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spellchecker
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'spellchecker'
>>> exit()
(torch) root@1c113923969c:~# conda list spellchecker
# packages in environment at /root/anaconda3/envs/torch:
#
# Name                    Version                   Build  Channel

说明还是没有安装到正确的位置,之后我发现/root目录下多出一个以~为名的文件夹:

所以把--target写成相对路径是不可取的 ⬇ ❌

破案了✌

参考资料

  • ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全
  • 如何用pip指令将python包安装到虚拟环境中

成功解决 ModuleNotFoundError: No module named ‘spellchecker‘相关推荐

  1. 成功解决ModuleNotFoundError: No module named ‘minepy.mine‘

    成功解决ModuleNotFoundError: No module named 'minepy.mine' 目录 解决问题 解决思路 解决方法 1.去官网下载whl文件

  2. 成功解决ModuleNotFoundError: No module named ‘sklearn.lda‘

    成功解决ModuleNotFoundError: No module named 'sklearn.lda' 目录 解决问题 解决思路 解决方法 第一步,查看sklearn版本 第二步,修改代码 解决 ...

  3. 成功解决ModuleNotFoundError: No module named ‘sklearn.learning_curve‘

    成功解决ModuleNotFoundError: No module named 'sklearn.learning_curve' 目录 解决问题 解决思路 解决方法 解决问题 from sklear ...

  4. 成功解决ModuleNotFoundError: No module named ‘sklearn.grid_search‘

    成功解决ModuleNotFoundError: No module named 'sklearn.grid_search' 目录 解决问题 解决思路 解决方法 解决问题 ModuleNotFound ...

  5. 成功解决ModuleNotFoundError: No module named ‘sklearn.cross_validation‘

    成功解决ModuleNotFoundError: No module named 'sklearn.cross_validation' 目录 解决问题 解决思路 解决方法 解决问题 ModuleNot ...

  6. 成功解决ModuleNotFoundError: No module named ‘torch._C‘

    成功解决ModuleNotFoundError: No module named 'torch._C' 目录 解决问题 解决思路 解决方法 解决问题 ModuleNotFoundError: No m ...

  7. 成功解决ModuleNotFoundError: No module named engine

    成功解决ModuleNotFoundError: No module named 'engine' 目录 解决问题 解决思路 解决方法 解决问题 ModuleNotFoundError: No mod ...

  8. 成功解决ModuleNotFoundError: No module named 'utils'

    成功解决ModuleNotFoundError: No module named 'utils' 目录 解决问题 解决方法 第一步,先查看是否有该模块,如果没有就下载一个!

  9. 成功解决ModuleNotFoundError: No module named 'torch.utils.tensorboard'

    成功解决ModuleNotFoundError: No module named 'torch.utils.tensorboard' 目录 解决问题 解决思路 解决方法 解决问题 ModuleNotF ...

最新文章

  1. ATP - UI 自动化测试用例管理平台搭建
  2. 企业网络推广——面对网络推广企业网站提升收录到底该怎样做?
  3. python导入txt文件并绘图-Python读取txt某几列绘图的方法
  4. conda下载出现连接超时怎么办
  5. Android 五大存储方式具体解释
  6. 23套新鲜出炉的网站和手机界面 PSD 素材
  7. [编织消息框架][网络IO模型]AIO
  8. 批量检查pdb数据库某些蛋白质的pdb文件是否存在
  9. 今晚7:30 | 推荐系统中的异构关系学习——香港大学计算机学院助理教授黄超
  10. 深度学习跑项目的注意事项
  11. MAC系统连接Windows共享文件的方法
  12. IDM产品安全机制说明
  13. 使用 patch 命令打补丁
  14. Home Assistant入门1-1:在树莓派上安装官方系统
  15. c#输出二维数组矩阵
  16. 机器学习实战 Python3 实现
  17. cache命中页表命中么_最伟大的命中
  18. mysql分表id维护_MySQL分表自增ID解决方案
  19. 网络工程师(路由交换)必备面试题
  20. 全新生鲜模板商城(前台vue-cli后台tp6)公众号、h5

热门文章

  1. 【PHP代码审计】站帮主CMS漏洞挖掘
  2. 深入理解mongoose
  3. 「面向打野编程」iOS多线程:CGD
  4. java WEB调用秒嘀科技短信验证接口(实现短信验证登录)
  5. Android 获取应用(APP)UID
  6. minecraft源代码_用PHP修改Minecraft-代码中的建筑物!
  7. 霍纳法则--计算多项式的值
  8. python修改rgb红色通道为黑白_如何将RGB图像(3通道)转换为灰度(1通道)并保存?...
  9. realvnc控制端安卓版,不能错过的realvnc控制端安卓版安装教程
  10. 【渝粤教育】电大中专消费者行为学 (2)_1作业 题库