Python包在终端上导入,但不在IDLE上导入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python包在终端上导入,但不在IDLE上导入相关的知识,希望对你有一定的参考价值。

所以我是Python新手。我下载了Anaconda(和Homebrew),并在我的Mac上使用终端,我确认安装了Numpy:

pip install numpy

得到的结果

Requirement already satisfied: numpy in ./anaconda/lib/python3.6/site-packages

然后在终端I中打开Python确实可以导入包。一旦我打开IDLE,故事就不一样了。所以,当我打开它并尝试导入时,比方说,Numpy我得到以下消息:

    Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    import numpy
ModuleNotFoundError: No module named 'numpy'

我想有些东西我不知道,我认为这是一个常见的菜鸟问题。你能帮帮我吗?

答案

由于你的IDLE使用的是Python 3,你应该使用

pip3 install numpy

为正确的Python安装它。如果您想使用默认安装的Python(2.x),IDLE位于/ usr / bin /。从您的终端,您可以打开它

/usr/bin/idle

这应该是你用pip install numpy安装的numpy

另一答案

当您使用Anaconda时,它会创建自己的虚拟环境。现在,如果您是MAC上的python新手,那么您可能不熟悉虚拟环境。

我建议你从官方网站www.python.orgClick here下载python,直接在你的MAC上下载Python 3.6.2。

然后,下载Pycharm(适用于Python的最佳IDE)下载适合初学者的社区版本,它也是免费的。

Pycharm社区版 - > Click Here

并做任何你想做的事情,也必须阅读Virtualenv

据我所知,Pycharm比Anaconda的Jupyter笔记本更好

祝你好运,并在python中展示你的创造力! !

另一答案

嗯......好吧,好像 - 因为你的计算机上有两个版本 - 可能是因为它将它导入到另一个文件路径目录中。现在,我从未使用过Mac,但我认为如果你只是指定要从哪个pip下载,它可能会有效。例如,在Windows上:

C: Python34 Scripts pip.exe安装numpy

或者如果您使用的是3.6,那么您将按照文件夹的路径,找到pip并安装。因此,我建议在构建它之前的任何其他平台之前安装正常的IDLE只是因为它更容易导入模块并且不像你的那样破坏。

另一答案

可能有两个问题 -

  1. 你使用python 2作为IDLE的内核,因为为python3.6安装了numpy。这会引发错误。
  2. 问题在于anaconda的IDLE配置。 Anaconda在./anaconda/lib/python3.6/site-packages中安装numpy。如果IDLE使用系统默认的python而不是anaconda的。你将无法导入numpy。

您可以尝试运行此代码段 - import sys print(' '.join(sys.path)) 准确地跟踪python的位置。

我能想到的解决方法之一是 - 使用anaconda创建虚拟环境。就像是 conda create -n py352 python=3.5.2 anaconda 然后从你的终端开火IDLE。虽然我不完全确定,如果这适用于mac。如果没有,请告诉我 - 的输出 - import sys print(' '.join(sys.path))

以上是关于Python包在终端上导入,但不在IDLE上导入的主要内容,如果未能解决你的问题,请参考以下文章

导入不在路径上的python模块

“未找到导入 tensorflow 模块”仅在 jupyter 笔记本上,但不在 jupyter 实验室或终端上

我无法在32位版本的IDLE上导入pygame。

在 Spark 中的 EMR 上使用 --py-files 从 .zip 文件(使用 zipfile 包在 python 中创建)导入模块时出现问题

Python plotly 在命令行中工作,但不在 python 文件中 - 导入错误

Python primefac包在导入时不编译