【发布时间】:2023-03-18 09:30:01
【问题描述】:
我正在使用 WinPython 通过 USB 闪存驱动器运行我的 Python 程序。 但是当我尝试在我创建的函数中运行导入的函数时,我收到以下错误(任何导入的模块都会发生这种情况):
NameError:名称“时间”未定义
这是一个可以正常工作的示例:
import time
time.sleep(0.5)
这是一个不起作用的例子:
import time
def waitLoad():
time.sleep(0.2)
waitLoad()
我在执行上面的示例时收到以下错误:
Traceback (most recent call last):
File "E:\WinPython\python-3.6.5.amd64\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "E:\WinPython\python-3.6.5.amd64\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "E:\WinPython\python-3.6.5.amd64\scripts\ptpython.exe\__main__.py", line 9, in <module>
File "E:\WinPython\python-3.6.5.amd64\lib\site-packages\ptpython\entry_points\run_ptpython.py", line 55, in run
six.exec_(compile(open(a['<arg>'][0], "rb").read(), a['<arg>'][0], 'exec'))
File "../testeMouse.py", line 4, in <module>
waitLoad()
File "../testeMouse.py", line 3, in waitLoad
time.sleep(0.2)
NameError: name 'time' is not defined
如果我使用计算机中安装的 Python 解释器执行相同的程序,该程序可以正常工作。但是我需要使用安装在我的 USB 闪存驱动器中的 Python 解释器来执行它。
【问题讨论】:
-
那是另一个时间? testeMouse.py 中的 0.2 与 0.5?
-
没有。 “def”中的任何函数都会给我同样的错误。例如,如果我为 pyautogui.locateOnScreen() 更改 time.sleep(),错误将是:“NameError: name 'pyautogui' is not defined”
-
您的回溯是由与您发布的代码不同的代码生成的。能贴出真实代码吗?
-
我没有遇到过winpython,所以删除了我的最后一条评论,但快速搜索表明它用于spyder。我假设您有
time作为模块以外的东西在命名空间中浮动。有内核要重启吗? -
Matthew Story,对不起,我从错误的测试文件中复制。现在回溯来自正确的代码。