pip list 可以查到某个包,但是,import某个包,出现 ModuleNotFoundError: No module named
(segmamba) [root@ibiomed ~]# pip list | grep gen gensim 4.3.3 (segmamba) [root@ibiomed ~]# python Python 3.10.18 (main, Jun 5 2025, 13:14:17) [GCC 11.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import gensim Traceback (most recent call last):File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'gensim' >>>
当pip list
显示包已安装,但import
时出现ModuleNotFoundError
,通常是因为 Python 解释器的路径与pip
所对应的路径不一致导致的(OK)。以下是具体的解决方法:
1. 检查 Python 和 pip 的对应关系
克隆虚拟环境的时候,克隆了python和pip,因此,新环境中的python和pip可能链接到另外一个环境中。
(segmamba) [root@ibiomed ~]# which python
/home/software/anaconda3/envs/segmamba/bin/python
/home/software/anaconda3/envs/segmamba/bin/python
ll /home/software/anaconda3/envs/segmamba/bin/python
(segmamba) [root@ibiomed ~]# which pip
/home/software/anaconda3/envs/segmamba/bin/pip
(segmamba) [root@ibiomed ~]# which pip
/home/software/anaconda3/envs/segmamba/bin/pip
(segmamba) [root@ibiomed ~]# ll /home/software/anaconda3/envs/segmamba/bin/python
lrwxrwxrwx. 1 root root 10 10月 4 15:07 /home/software/anaconda3/envs/segmamba/bin/python -> python3.10
您在 /var/spool/mail/root 中有邮件
(segmamba) [root@ibiomed ~]# readlink -f /home/software/anaconda3/envs/segmamba/bin/python
/home/software/anaconda3/envs/segmamba/bin/python3.10
您在 /var/spool/mail/root 中有邮件
(segmamba) [root@ibiomed ~]# ls -l /home/software/anaconda3/envs/segmamba/bin/python
lrwxrwxrwx. 1 root root 10 10月 4 15:07 /home/software/anaconda3/envs/segmamba/bin/python -> python3.10
(segmamba) [root@ibiomed ~]# file /home/software/anaconda3/envs/segmamba/bin/python
/home/software/anaconda3/envs/segmamba/bin/python: symbolic link to `python3.10'
readlink -f /home/software/anaconda3/envs/segmamba/bin/pip
lrwxrwxrwx. 1 root root 10 10月 4 15:07 /home/software/anaconda3/envs/segmamba/bin/python -> python3.10
您在 /var/spool/mail/root 中有邮件
(segmamba) [root@ibiomed ~]# readlink -f /home/software/anaconda3/envs/segmamba/bin/python
/home/software/anaconda3/envs/segmamba/bin/python3.10
您在 /var/spool/mail/root 中有邮件
(segmamba) [root@ibiomed ~]# ls -l /home/software/anaconda3/envs/segmamba/bin/python
lrwxrwxrwx. 1 root root 10 10月 4 15:07 /home/software/anaconda3/envs/segmamba/bin/python -> python3.10
(segmamba) [root@ibiomed ~]# file /home/software/anaconda3/envs/segmamba/bin/python
/home/software/anaconda3/envs/segmamba/bin/python: symbolic link to `python3.10'
readlink -f /home/software/anaconda3/envs/segmamba/bin/pip
(segmamba) [root@ibiomed ~]# more /home/software/anaconda3/envs/segmamba/bin/pip #!/home/zhang/miniconda3/envs/segmamba/bin/python3.10 # -*- coding: utf-8 -*- import re import sysfrom pip._internal.cli.main import mainif __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])sys.exit(main())
把上面文件中的第一行修改为新的python即可【可行,可用】:
(segmamba) [root@ibiomed ~]# more /home/software/anaconda3/envs/segmamba/bin/pip #!/home/software/anaconda3/envs/segmamba/bin/python3.10 # -*- coding: utf-8 -*- import re import sysfrom pip._internal.cli.main import mainif __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])sys.exit(main())
2. 针对性安装包
3. 检查包的安装位置
# 查看包的安装位置
import sys
import sys
4. 其他可能的原因