ImportError:没有名为_winreg的模块 python3

23 投票
3 回答
46855 浏览
提问于 2025-04-16 07:51

我想知道在哪里可以下载适用于Python3的_winreg,如果可以的话。我把'windir'放在了E:\Windows。我不确定cx_Freeze是否没有注意到这一点。我正在使用cx_Freeze来创建一个msi安装程序。

3 个回答

0

我找到了一种简单的解决办法,虽然我花了很多时间才找到,但这个解决方案的实施非常简单明了。希望能帮助到很多有同样问题的人。

如果你电脑上没有安装最新版本的Python,你需要去(https://www.python.org/downloads/)下载,然后点击“添加到路径”选项,最后完成安装。

请打开命令提示符(CMD),进入Python最新版本的目录,然后运行命令 pip install 包名(例如:pip install pygame),这样就会成功安装了。

1. C:\WINDOWS\system32>cd C:\Users\admin\AppData\Local\Programs\Python\Python37-32

    2. C:\Users\admin\AppData\Local\Programs\Python\Python37-32>pip install Pygame 

现在它会顺利安装这些包,没有任何问题。

正在下载 成功安装 Pygame-1.9.4

C:\Users\admin\AppData\Local\Programs\Python\Python37-32>

如果在尝试了上述解决方案后,你在Pycharm中仍然遇到问题,请再试试以下步骤。

  1. 从设置菜单创建一个新的虚拟环境,选择最新版本的Python作为项目解释器,并指定一个新的文件夹路径。

  2. 选择你想要导入的pip包。重新编译代码,错误就会消失。

希望这能帮到你。

14

我知道这个问题比较老旧,但当我在谷歌搜索 ModuleNotFoundError: No module named '_winreg' 时,这个问题是第一个搜索结果,可能对某些人有帮助。

我在使用一个虚拟环境文件夹时遇到了同样的错误,这个虚拟环境是用不同的(已经删除的)Python版本创建的。解决办法是重新创建这个虚拟环境:

  1. 删除虚拟环境文件夹
  2. 运行 python -m venv <虚拟环境名称>
31

正如在_winreg 文档中所说的,_winreg在Python 3.0中被改名为winreg。如果你正在把为Python 2.x写的代码转换成Python 3.x,建议你使用2to3这个工具。

撰写回答