Cx-Freeze 错误 - Python 34

13

我有一个Cx_Freeze安装文件,现在想让它正常工作,但令人沮丧的是它曾经能够正确地冻结。然而,现在我遇到了以下错误:

编辑:出现的错误不是Python异常,而是尝试启动结果exe文件时出现的崩溃报告。

'File 'notetest.py', line 1, in _find_and_load importlib_bootstrap.py, line 2214

....

AttributeError 'module' object has no attribute '_fix_up_module'

这是我的 setup.py 文件:

    import sys
import os
from cx_Freeze import setup, Executable

build_exe_options = {'packages': [], 'excludes' : []}
base = 'Win32GUI'
exe = Executable(
    script = 'notetest.py',
    initScript = None,
    base = 'Win32GUI',
    targetName = 'MedicaidAid.exe',
    compress = True,
    appendScriptToExe = True,
    appendScriptToLibrary = True,
    icon = None
)

setup( name = 'MedicaidAid', 
        version = '0.85',
        description = 'MedicaidAid Software',
        options = {'build_exe': build_exe_options},
        executables = [Executable('notetest.py', base = base)])

为了确保:应用程序运行良好,cx-freeze可以冻结旧版本Python的实际代码吗? - Trilarion
Trilarion,是的,该应用程序通过IDE运行良好。Cx-freeze运行整个代码并且似乎工作正常,没有错误或其他问题。我目前使用Python 3.4.1作为工作路径Python,并使用Python 3x编写程序。它之前可以在Python 3.3下工作。我尝试删除有问题的Python版本,但没有成功。感谢您可能拥有的任何想法。 - Spencer Bates
我找到了一个相关的线程,似乎解决了类似(如果不是同样的)问题。我会尝试并回报结果。 https://bitbucket.org/anthony_tuininga/cx_freeze/issue/61/python-340-nameerror-name-__file__-is-not - Spencer Bates
1
看起来可能与Python 3.4有关。我卸载了所有的Python版本,尝试了3.4和3.3。Python 3.3可以正常工作,没有这个错误。 - Spencer Bates
我认为很可能是Cx_Freeze(或Python 3.4)内部出现了错误。如果您想帮助他们,可以在他们的Bitbucket网站上打开自己的问题。或者稍等一会儿。这其实是个好消息。 - Trilarion
不错的主意,Tril。我已经在Bitbucket上为他们开了一个问题。 - Spencer Bates
3个回答

18

您应该从此网站安装cx_freeze。 它包含一个重要的补丁,可以解决问题(详见此处讨论)。


5

显然这是Cx_Freeze已知的问题。BitBucket上详细列出了解决方法。

似乎存在编译错误。BitBucket链接中列出了解决方法。


0

我遇到了相同的问题,而Northcat的解决方案完美地解决了这个问题。在安装其他cx_freeze时出现了缺少补丁的问题(会有一些警告信息),正是因为缺少了这个补丁才会出现这些警告。从link进行的新安装在安装过程中没有出现这样的警告,因此它很好地工作了。


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