"Most likely due to circular import" 中的 Python Visual Studio 代码
"Most likely due to circular import" in Python Visual Studio Code
import threading
import time
start = time.perf_counter()
def do_something():
print("Sleeping in 1 second")
time.sleep(1)
print("Done sleeping")
t1 = threading.Thread(target=do_something)
t2 = threading.Thread(target=do_something)
finish = time.perf_counter()
print(f"Finished in {round(finish-start,1)} seconds(s) ")
有谁知道为什么这段代码 returns 在 运行 时出现这个错误以及如何解决它?:
Traceback (most recent call last):
File "c:/Users/amanm/Desktop/Python/Python Crash Course/threading.py", line 1, in <module>
import threading
File "c:\Users\amanm\Desktop\Python\Python Crash Course\threading.py", line 12, in <module>
t1 = threading.Thread(target=do_something)
AttributeError: partially initialized module 'threading' has no attribute 'Thread' (most likely due to a circular import)
当我 运行 这段代码在正常 IDLE 中似乎可以工作,但在 Visual Studio 代码中不起作用。
您创建的程序文件似乎名为 threading.py
,而您正在导入一个也称为 threading
的模块。这会导致循环导入,因为 您的 文件正在隐藏内置模块。
请重命名您的程序(例如,threading-example.py
)。
导入模块时,python首先检查当前工作目录中的文件,然后再检查其他内置模块。因此,您可能有一个名为 threading.py 的文件,它没有必要的属性。换句话说,你做了一个循环导入。
import threading
import time
start = time.perf_counter()
def do_something():
print("Sleeping in 1 second")
time.sleep(1)
print("Done sleeping")
t1 = threading.Thread(target=do_something)
t2 = threading.Thread(target=do_something)
finish = time.perf_counter()
print(f"Finished in {round(finish-start,1)} seconds(s) ")
有谁知道为什么这段代码 returns 在 运行 时出现这个错误以及如何解决它?:
Traceback (most recent call last):
File "c:/Users/amanm/Desktop/Python/Python Crash Course/threading.py", line 1, in <module>
import threading
File "c:\Users\amanm\Desktop\Python\Python Crash Course\threading.py", line 12, in <module>
t1 = threading.Thread(target=do_something)
AttributeError: partially initialized module 'threading' has no attribute 'Thread' (most likely due to a circular import)
当我 运行 这段代码在正常 IDLE 中似乎可以工作,但在 Visual Studio 代码中不起作用。
您创建的程序文件似乎名为 threading.py
,而您正在导入一个也称为 threading
的模块。这会导致循环导入,因为 您的 文件正在隐藏内置模块。
请重命名您的程序(例如,threading-example.py
)。
导入模块时,python首先检查当前工作目录中的文件,然后再检查其他内置模块。因此,您可能有一个名为 threading.py 的文件,它没有必要的属性。换句话说,你做了一个循环导入。