ImportError: cannot import name ‘_VF‘ from partially initialized module ‘torch‘ 问题

Mr.Z2001 2023-07-02 11:42:28

这是我在做大创时遇到的问题。参加比赛需要提交可执行文件(.exe),而python是解释型语言,不像C/C++那样通过编译器就可以生成可执行文件,需要借助cxfreeze等工具生成。而这个生成过程中就可能遇到形形色色的问题。
很多问题可以在cxfreeze或其他工具的github仓库中的issue中找到,csdn站内很多问题及解决方法都是重复的。建议上google搜索。

下面分享一个我遇到的问题:

我在使用cxfreeze给我的python程序打包好后,当我想启动我的exe文件时发现总是闪退。
于是我在闪退的前一刻截下了图片,看到了一串报错,最终落在了
ImportError: cannot import name '_VF' from partially initialized module 'torch' (most likely due to a circular import)
这一行上。
大概就是循环引用出的锅。

查了一番之后找到了解决办法,那就是在使用cxfreeze的时候,加一个参数
--packages=torch
注:有些可能显示有问题,packages前面是两个减号

下面介绍的完整操作流程:

假设我的python程序从main.py开始

  1. 进入cmd,进入main.py等源程序所在目录
  2. 调用cxfreeze
  3. 具体命令为:cxfreeze --packages=torch main.py
  4. 然后等待,之后在build-然后里面有个文件夹-main.exe就可以打开我的程序了。

发现国内论坛很少讨论这个问题,故搬到这里,希望能帮到大家
原答案及更多详情:https://github.com/pytorch/pytorch/issues/72105

...全文
238 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,116

社区成员

发帖
与我相关
我的任务
社区描述
东北大学计算机类专业社区
辽宁省·沈阳市
社区管理员
  • gibeonwu
  • Mr.Z2001
  • Yu_Des2023
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

自强不息,知行合一

试试用AI创作助手写篇文章吧