当前位置: 首页 > 知识库问答 >
问题:

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

窦彦君
2023-03-14

我正在尝试制作两个程序。我希望一个打印我居住的城市的当前天气,我希望另一个从一个在线帐户获取数据并返回它。对于这些脚本,我导入了天气模块和请求模块。当我在shell中导入它们时,没有问题,但是当我运行脚本时,它说“ImportError:No module name you weather”。我做错了什么?

壳牌:

>>> import requests
>>> 

脚本:

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

这也适用于“天气”模块

谢谢你

共有3个答案

益炜
2023-03-14

也许您在脚本中使用的是虚拟环境,模块没有安装在那里。

柴正祥
2023-03-14

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

import sys
sys.version

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

龚凯泽
2023-03-14

我和你有同样的问题,但是“sklearn”包。在安装scikit-learnsklean之后,我在.py文件中运行了导入sklean,它返回“ModuleNotFoundError:没有名为'sklean.ensembly'的模块;'sklean'不是包”。

原来我犯了一个有趣的错误。我将文件命名为“sklean.py”。因此,当我导入<code>sklearn</code>时,它可能只是尝试导入自己。我不应该把那个文件命名为“sklearn.py”。

 类似资料:
  • 我已经安装了Python 3.5附带的Lubuntu 16.04 LTS,但使用Python 2.7作为默认的Python解释器。< br >两个版本都没有安装< code>pip包。我只会使用3.5版本。因此,我安装了< code>pip3,其中包含: 然后我尝试更新版本(因为Ubuntu存储库有旧版本):$ pip3安装--升级pip3但是找不到包,并给我发了这条消息: 收集pip3<br>找

  • 我正在尝试执行GET命令,以便我可以从服务器获取数据。下面的Curl适用于Postman。 在运行我的代码时,我能够获取会话ID。下一步是获取数据。但是当我执行GET时,我没有得到任何响应。相反,我得到一个错误,如下所示:“指定的值具有无效的HTTP标头字符。(参数'name')” 下面是我试图执行的C代码 问题:我没有收到来自服务器的响应,响应长度为零。 以下是答案:0 回答ErrorMessa

  • 问题内容: 因此,我试图使用ctypes模块制作一个Python 3.3程序来更改Windows桌面背景。我已经在Python 2.7中测试了以下代码,并且运行良好。但这仅在Python 3.3中不起作用!我使用的是Windows7。代码如下: 问题答案: 需要一个8位ANSI编码的输入字符串作为参数,这在Python中被称为encoding 。 您将不得不在python3中使用。这是因为接受UT

  • 问题内容: 我正在尝试编写一个小脚本以将当前目录更改为我的项目目录: 我将此文件另存为proj,使用添加了执行权限,然后将其复制到。当我通过以下方式调用它时 ,它什么也没做。我究竟做错了什么? 问题答案: Shell脚本在一个子Shell中运行,每个子Shell对当前目录都有自己的概念。的成功,但只要子shell退出,你是在交互式背壳和从来都没有改变,因此。 解决此问题的一种方法是改用别名:

  • 我想知道为什么我的Java程序在控制台工作,当我做: javac Main.java Java美因河 ...而不是在Eclipse中,因为我有这个错误: 线程“main”java.lang.NullPointerException在codepin.main.main(main.java:48)-->char passwordarray[]=console.readpassword(“enter p

  • 问题内容: 我想实现一个userland命令,该命令将使用其参数之一(路径)并将目录更改为该目录。程序完成后,我希望外壳位于该目录中。所以我想用外部程序来实现命令。 可以在python脚本中完成还是必须编写bash包装器? 例: 问题答案: 其他人指出,您不能从孩子那里更改父母的工作目录。 但是有一种方法可以实现您的目标-如果从shell函数中进行cd,则 可以 更改工作目录。将此添加到您的〜/