Python调用模块在命令行和spyder之间的区别



我刚刚开始将python添加到我的曲目中,仍然在学习。

当我从spyder调用一个.py模块时,spyder会自动知道去我在C驱动器上工作的地方,并导入并运行没有问题。

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

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

编辑1:我还尝试了以下

C:WINDOWSsystem32>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'

编辑:我读了一篇@nannafeel的帖子,回答了我的问题。我是一名学习编码的工程师,而不是一名软件开发人员。我可以跟随其他帖子,安装文件等以供命令提示符使用,我以前也使用Gitlab中的工具使用pip-install对其他人的代码做过类似的事情。实际上,我正在努力学习更多关于模块如何工作的知识,以便我可以开始自己构建它们。我参考的是马克·卢茨的教科书《奥莱利的学习巨蟒》。引用的帖子似乎与课本上告诉我的不同,我可以通过windows的命令提示符来完成。它的第68页为任何可能碰巧拥有它的人导入和重新加载基础知识。

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

%python
>>> import script1

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

您需要在命令行中运行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,并为您工作的每个项目使用虚拟环境。

最新更新