我正在阅读 Python 文档https://docs.python.org/3/library/concurrent.futures.html我想使用这个功能,但是我不能。
第一步就失败了:导入模块。因为
import concurrent.futures
我得到
File "<stdin>", line 1, in <module>
File "/home/kevin/concurrent.py", line 3, in <module>
import concurrent.futures
ModuleNotFoundError: No module named 'concurrent.futures'; 'concurrent' is not a package
而且我无法让 pip 找到或安装它,无论是作为“concurrent.futures”还是仅仅作为“concurrent”。
我目前在 Xubuntu 22.04 LTS 上,运行 Python 3。
答案1
您的文件名为concurrent.py
,这意味着它隐式定义了一个名为的模块concurrent
,遮蔽了内置concurrent
包。
答案2
切勿将文件命名为与包名称相同的名称。Python 在尝试导入模块时遵循一定的锁定顺序。顺序默认从程序启动的当前目录中开始。如果在那里找到同名的 Python 文件,则会导入该文件。
因此,您在这里所做的基本上是导入您自己的脚本。它按名称运行concurrent
,但随后出现异常,因为您的文件中没有名为的对象futures
。