【问题标题】:WinPython: "NameError: name 'time' is not defined", but only inside a functionWinPython:“NameError:名称'时间'未定义”,但仅限于函数内部
【发布时间】: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,对不起,我从错误的测试文件中复制。现在回溯来自正确的代码。

标签: python nameerror


【解决方案1】:

问题已通过使用 spyder.exe(WinPython 中包含的 IDE)执行程序来解决。之前它不起作用,因为我试图通过安装在我的 USB 闪存驱动器上的 Python 解释器直接执行程序。

【讨论】:

    猜你喜欢
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    相关资源
    最近更新 更多