Modules are installed using pip on OSX but not found when importing
我使用PIP成功地安装了不同的模块,它们显示在
1 | pip list |
例如:
1 2 3 | beautifulsoup4 (4.4.1) requests (2.10.0) Scrapy (1.1.0) |
号从终端
但是,每当我试图导入它时
显示以下错误:
1 2 3 4 5 6 7 8 | $ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type"help","copyright","credits" or"license" for more information. >>> import requests Traceback (most recent call last): File"<stdin>", line 1, in <module> ImportError: No module named requests |
更新:如果我在正确的站点包目录下启动python
1 2 3 4 5 6 7 | $ pwd /usr/local/lib/python2.7/site-packages $ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) >>> import requests >>> import bs4 >>> import scrapy |
。
然后它就开始工作了。如果直接在终端上写,这将解决这个问题。但是,我不知道如何使它在file.py中工作,这将是正常使用的方法。
据我所知,我只安装了python2.7。
从file.py如果我在本地文件夹中保存了一个file.py。例如,它包含
1 2 | import requests from bs4 import BeautifulSoup |
当我尝试的时候
1 | python file.py |
。
我也有同样的错误。
接近列表中的任何其他模块也会发生同样的情况。我认为pip将它们安装在python没有读取的目录中,但是根据我所读的,它是正确的目录。
它们都安装在这里:
1 | /usr/local/lib/python2.7/site-packages |
。
Padraic Cunningham请求的输出:
1 2 3 4 5 | $ which -a pip /usr/local/bin/pip $ which -a python /usr/bin/python /usr/local/bin/python |
leovp请求的输出:
1 2 | $ pip -V pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7) |
。线程已检查
我已经检查了以下线程,但不幸的是它们没有帮助我解决问题:
- 使用pip安装pyside-找不到make
- pip安装但找不到模块=>可能提供了正确的答案,但给定的链接不再有效
- 已安装google.protobuf,但找不到模块
- 未找到python pip安装模块。如何将python链接到pip位置?
- 从bootstrap.pypa.io/get-pip.py下载
get-pip.py 。 使用以下命令安装
埃多克斯1〔6〕
- 这可能是因为这里曾经说过:PIP安装,但找不到模块。已用更新的链接更新了答案。
- 如果安装了两个版本的python,也可能发生这种情况。如果您正在访问的
pip 是一个版本,则使用的python解释器是另一个版本。 - 如果上述两种方法都不适用于您,请检查:
小精灵
有什么问题吗?
这里的答案是有效的,这基本上是在问题的评论中解释的。然而,我认为把它解释成一个清晰、结构良好的答案是有用的。
如前所述,问题是我没有使用PIP安装的解释器。命令
1 2 | $ which -a pip /usr/local/bin/pip |
号
以及不同的python版本所在的位置:
1 2 3 | $ which -a python /usr/bin/python /usr/local/bin/python |
也就是说,我的系统/默认python是
1 | /usr/bin/python |
。
当pip为安装
1 | /usr/local/bin/python |
因此,我不能导入我刚键入
再次安装pip,指定将要安装的模块的目标。这必须是system/default python的目标。
这分为两个步骤:
注意,如果没有
我刚刚解决了一个类似的问题。
为了提供一些背景,我通过执行
江户十一〔11〕。
但当我试着去见
我的解决方案:运行
由于您的问题可能是由各种原因引起的,我在这里列出了其中的一些问题:
小精灵
您要查找的链接:https://pythonhosted.org/setuptools/setuptools.html开发模式
小精灵
所以请注意,您使用的是相同版本的python来安装和使用这个包。
您可以使用别名修复此问题,
首先,设置shell别名:
1 | alias python=/usr/local/bin/python3 |
然后,在提示下键入,或者将其放在您的
小精灵
importError没有名为或此的模块
我在添加这个以防它帮助其他人。对我来说,问题是我运行的是Python,而pip3安装到的目录与Python链接的目录不同。修复此运行
在终端运行
1 2 3 4 5 6 | Warning: The following directories do not exist: /usr/local/sbin You should create these directories and change their ownership to your account. sudo mkdir -p /usr/local/sbin sudo chown -R $(whoami) /usr/local/sbin |
。
在终端中键入