股票

WARNING: file already exists but should not: C:\…\…\…\Local\Temp\_MEI58962\include\pyconfig.h

在使用 Pyinstaller 生成 exe 程序时,由于没有用调试模式,在打开生成的 exe 时跳出告警:

WARNING: file already exists but should not: C:\Users\maydolly\AppData\Local\Temp\_MEI127362\Include\pyconfig.h

解决方法之一:

在生成的目标文件夹下,编辑 .spec 文件,在 a = Analysis(… 后面添加:

  1. for d in a.datas:
  2.     if ‘pyconfig’ in d[0]:
  3.         a.datas.remove(d)
  4.         break

然后不再使用指令 python pyinstaller.py  -F XXX.py 而是换成

python pyinstaller.py -F XXX.spec

对,就是用spec文件代替之前的 py 文件。如果需要生成不带调试窗口的文件,需要把 exe 选项中的 console=TRUE 改为 console=False .

附完整 spec 文件:

  1. # -*- mode: python -*-
  2. a = Analysis([‘C:\\\xb0\xd9\xb6\xc8\xd4\xc6\xcd\xac\xb2\xbd\xc5\xcc\\documents\\python\\HFFS\\src\\hffs.py’],
  3.              pathex=[‘C:\\Python27\\PyInstaller-2.1\\hffs’],
  4.              hiddenimports=[],
  5.              hookspath=None,
  6.              runtime_hooks=None)
  7. for d in a.datas:
  8.     if ‘pyconfig’ in d[0]:
  9.         a.datas.remove(d)
  10.         break
  11. pyz = PYZ(a.pure)
  12. exe = EXE(pyz,
  13.           a.scripts,
  14.           a.binaries,
  15.           a.zipfiles,
  16.           a.datas,
  17.           name=’hffs.exe’,
  18.           debug=False,
  19.           strip=None,
  20.           upx=True,
  21.           console=False )

解决方法之二:

修改文件 PyInstaller-2.1–>PyInstaller–>build.py

  1. Go to C:\Python27\Lib\site-packages\PyInstaller\build.py
  2. Find the def append(self, tpl): function.
  3. Change if tpl[2] == "BINARY": to if tpl[2] in ["BINARY", "DATA"]:

注意,上例中的地址 C:\Python27\Lib\site-packages\Pyinstaller\build.py是你把pyinstaller装到python目录中的情况下,像我没有安装,直接把pyinstaller随意放一个位置的,就要在 pyinstaller 的安装目录下修改。

打赏
原文链接:,转发请注明来源!

美多多进行回复 点击这里取消回复。

  • 就是按文章方法解决的。但是不建议用这个软件了,兼容性太差,只能xp机器用,高级版本的win基本都用不了了

    美多多 回复私信
    • 11 Responses to “WARNING: file already exists but should not: C:\…\…\…\Local\Temp\_MEI58962\include\pyconfig.h”
      • 说说短句

        谢谢了,刚好遇到这个问题

        回复
      • 匿名

        您好,我也遇到了您类似的问题,不过不是.h文件,而是pyd文件:torch\_C.cp35-win_amd64.pyd。实在不知道什么原因。劳烦您帮忙看下好吗?谢谢

        回复
        • 是不是缺文件了?这个最好在32位系统下允许,64位的会出问题,这个软件不够好

          美多多 回复私信
        • 您好,我是一名在读硕士生,请问最后你的这个问题解决了嘛,是如何解决的呢,谢谢

          匿名 回复
          • 就是按文章方法解决的。但是不建议用这个软件了,兼容性太差,只能xp机器用,高级版本的win基本都用不了了

            美多多 回复私信
      • 匿名

        您好,我也遇到了您类似的问题,不过不是.h文件,而是pyd文件:_C.cp36-win_amd64.pyd。实在不知道什么原因。劳烦您帮忙看下好吗?谢谢

        回复
        • 您好,我跟您出现的问题相同,请问您解决了吗?

          匿名 回复
          • 文中写了解决方案啊,我就是按这个方法解决的。

            美多多 回复私信
            • 你好,能详细的写下解决流程吗?非专业,看不太明白,谢谢

              询问 回复
              • 回复询问 :

                这个示例已经够详细了,看不懂我也没办法呢

                美多多 回复私信
      • 匿名

        您好

        回复