为什么python模块在shell中工作而不在脚本中工作?

Tim*_*are 5 python python-module python-2.7

我正在尝试制作两个程序。我想让一个打印我居住城市的当前天气,我想让另一个从在线帐户中获取数据并将其返回。对于这些脚本,我导入了 yweather 模块和 requests 模块。当我在 shell 中导入它们时,没有问题,但是当我运行脚本时,它显示“导入错误:没有名为 yweather 的模块”。我究竟做错了什么?

贝壳:

>>> import requests
>>> 
Run Code Online (Sandbox Code Playgroud)

脚本:

Traceback (most recent call last):
  File "/Users/tim/Desktop/login.py", line 1, in <module>
    import requests
ImportError: No module named requests 
Run Code Online (Sandbox Code Playgroud)

这也发生在 yweather 模块

谢谢

小智 6

我和你有同样的问题,但使用的是“sklearn”包。scikit-learn安装并安装后sklearn,我import sklearn在 .py 文件中运行,它返回“ModuleNotFoundError:没有名为“sklearn.ensemble”的模块;“sklearn”不是一个包”。

事实证明我犯了一个有趣的错误。我将文件命名为“sklearn.py”。因此,当我导入时sklearn,它可能只是尝试导入自身。我不应该将该文件命名为“sklearn.py”。


小智 0

你确定是同一个版本的Python吗?尝试在 shell 和脚本中运行以下命令,比较结果。

import sys
sys.version
Run Code Online (Sandbox Code Playgroud)

如果它们不相同,则您安装了两个版本。