导入错误:找不到名为“_thread”的模块

14

在 VSCode 中编译 Python2 会出现错误,但编译 Python3 则成功。

print('test')

返回结果:ImportError: No module named _thread

PS C:\source>  c:; cd 'c:\source'; & 'C:\Python27\python.exe' 'c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy\launcher' '52037' '--' 'c:\source\test.py' 
Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy\__main__.py", line 43, in <module>
    from debugpy.server import cli
  File "c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy/../debugpy\server\__init__.py", line 9, in <module>
    import debugpy._vendored.force_pydevd  # noqa
  File "c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy/../debugpy\_vendored\force_pydevd.py", line 37, in <module>
    pydevd_constants = import_module('_pydevd_bundle.pydevd_constants')
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_constants.py", line 362, in <module>  
    from _pydev_bundle._pydev_saved_modules import thread, threading
  File "c:\Users\keinblue\.vscode\extensions\ms-python.python-2022.4.0\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydev_bundle\_pydev_saved_modules.py", line 94, in <module>
    import _thread as thread;    verify_shadowed.check(thread, ['start_new_thread', 'start_new', 'allocate_lock'])
ImportError: No module named _thread

奇怪,我今天也注意到了这个问题,昨天还一切正常。 - Dhiwakar Ravikumar
今天我也遇到了同样的错误。 - vpp
3个回答

36

vscode的python扩展程序版本2022.4.0存在问题。

只需降级到版本2022.2.1924087327,它将像我现在使用的那样正常工作。

按照以下步骤操作:

  • 进入扩展程序页面
  • 点击已安装扩展程序的齿轮图标
  • 点击“安装其他版本”
  • 选择您希望安装的版本

输入图片描述


无法在 Docker 容器内安装旧版本。它只能在本地机器上安装。要在 Docker 容器中安装旧版本,请从 VSIX 安装。首先,从 此处 下载旧版本的 VSIX。然后,您可以按照建议从 VSIX 进行安装,使用命令 此处 或通过 vscode GUI(第三个最后菜单)此处 进行安装。 - Mahesha999
这个问题在v2022.4.1版本中修复了吗? - ajoseps
刚刚测试了一下,还没有修复。 - HDJEMAI
非常感谢。它解决了我的问题。不过,你可能需要重新启动你的 Visual Studio Code。 - JohnnyLinTW
他们移除了安装其他版本的功能吗?如果是,有什么解决办法吗? - Dhiwakar Ravikumar

2

我认为问题出在VS Code的Python扩展上。在VS Code中选择Python扩展,然后选择“卸载”下拉菜单以安装以前的版本,2022.2.xxx版修复了此问题。安装旧版本


1

今天我遇到了同样的问题。以下是我执行的步骤来解决它:

  1. 将扩展更新到版本v2022.6.2
  2. 重新加载VSCode
  3. 重启相关应用程序

对我来说,这些步骤很顺利地解决了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接