首页 > 解决方案 > Python调用模块在命令行和spyder之间的区别

问题描述

我刚开始将 python 添加到我的曲目中,仍然需要大量学习。

当我从 spyder 调用 .py 模块时,spyder 会自动知道转到我在 C 驱动器上工作的位置,并且导入和运行没有问题。

但是当我从命令行调用时,与我在 spyder 中所做的完全一样,我得到一个错误,说它找不到模块。为什么会这样,为什么两者不同?

    C:\WINDOWS\system32>python import script1b
    python: can't open file 'import': [Errno 2] No such file or directory

编辑1:我也尝试了以下

    C:\WINDOWS\system32>python
    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.

    >>> import script1b.py
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'script1b'

编辑:我读了@nanna 的帖子,感觉回答了我的问题。我是一名学习编码的工程师,而不是软件开发人员。我可以关注另一篇文章,安装文件等以供命令提示符使用,我之前使用 pip install 为来自 Gitlab 的工具使用其他人的代码做过类似的事情。我实际上是在尝试更多地了解模块的工作原理,以便我可以开始自己构建它们。我正在参考 Mark Lutz 的教科书 O'Reilly 'learning python'。引用的帖子似乎与教科书告诉我的内容不同,我可以通过 Windows 的命令提示符进行操作。它的第 68 页为可能碰巧拥有它的任何人导入和重新加载基础知识。

我创建了一个包含我的 python 代码的文本文件,将其命名为 .py 并且能够在 spyder 中打开和执行。只是想知道 Sypder 之间有什么区别,似乎更多地涉及使用命令提示符。但是,我的教科书告诉我,我应该能够从命令提示符运行相同的文本文件,这比帖子中概述的要容易得多。

%python
>>> import script1

实际上它告诉我我可以在命令提示符下,在交互式会话中使用,这是直接从书中复制的。

标签: pythonspyder

解决方案


您需要在命令行中运行 python 才能进行导入。首先,只需键入python并按 enter,然后在 python 运行后尝试导入。以下来自 mac 终端,但可能会帮助您了解这个想法:

Nannas-computer:somefolder someuser$ python
Python 2.7.16 (default, Dec  3 2019, 07:02:07) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import script1b

只是为了澄清;import用于导入 PYTHONPATH 上的模块,例如已安装的包或您创建的脚本。您可以在编写代码的文件中使用它,或者直接在运行的 python 实例中使用它,就像上面描述的那样。

对于安装包,请使用例如 pip,并为您从事的每个项目使用虚拟环境。


推荐阅读