解决问题:使用pip安装了一个包,但在python中import找不到包

举报
开飞机的大象 发表于 2018/12/10 14:11:50 2018/12/10
【摘要】 pip是一个很好用的工具,很容易就可以安装好需要的包。

pip是一个很好用的工具,很容易就可以安装好需要的包。

1a.JPG

但是在使用python的过程中,经常会碰到已经装了包,但是在python代码中import这个包时,仍然提醒没有这个模块。

这是什么原因呢?

其实很简单,因为我们的电脑上有多个版本的python,pip安装包的时候,有可能帮我们把包装到了其他地方去了。

这里以包langid为例,我们首先使用pip安装langid:

pip install langid


接着,我们在python中import langid时,提示:ModuleNotFoundError: No module named ‘langid‘。

我们确认一下,pip是否将langid安装成功

mon@mon-Ubuntu-Big:~/Desktop/someSpider$ pip install langidLooking in indexes: http://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: langid in /usr/local/lib/python3.6/dist-packages (1.1.6)

pip提示langid已经安装成功。并且告诉我们,安装的路径是:/usr/local/lib/python3.6/dist-packages

我们试着将这个地址添加到PYTHONPATH中,不过在这之前,我们需要使用pip先卸载enum34

AttributeError: module 'enum' has no attribute 'IntFlag'

接下来,我们修改PYTHONPATH吧!一行代码就可以了

export PYTHONPATH=/usr/local/lib/python3.6/dist-packages:$PYTHONPATH

命令中的路径就是上面langid的安装路径,执行完后,再测试以下langid是否可以被import了。

mon@mon-Ubuntu-Big:~/Desktop/someSpider$ python
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import langid
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'langid'

可以看到,langid已经可以被python使用啦!

2a.jpg

====================================================================

本文发表在李思原博客“机器在学习”

原文链接:http://www.siyuanblog.com/?p=1649

欢迎扫码关注我的微信公众号:聚数为塔

qrcode_for_gh_b8391fc7ce11_430.jpg

=====================================================================


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。