Py_Initialize:无法加载文件系统编解码器(innosetup安装程序)(仍然没有解决方案工作)

2024-04-19 20:13:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在构建我的应用程序(使用cx_Freeze)之后,我得到了我的应用程序的exe文件。这个exe很好。然后我用InnoSetup制作了一个exe的安装文件,但是在安装了我的安装文件(我从InnoSetup获得)并运行了应用程序(从桌面图标)后,它只会弹出错误,其他什么都没有:

Py_Initialize: unable to load the file system codec
importError: No module named "encodings" 

我的系统变量如下:

主页:C:\Users\saad\AppData\Local\Programs\Python\Python35-32

Python路径:%PY_HOME%\Lib;%PY_HOME%\DLLs

路径:...;%PY_HOME%;%PY_HOME%\Scripts\

注意:Windows7 64位+Python3.5.1 32位+encodings文件夹存在于Python安装文件夹和我的应用文件夹+我复制了python35.dll python35.lib python3.dll python3.lib in the project folder+我的电脑上只安装了python35,我卸载并删除了其他Python(python25)

请帮忙!


Tags: 文件thepy路径文件夹应用程序libexe
1条回答
网友
1楼 · 发布于 2024-04-19 20:13:46

问题解决了但我认为解决方案似乎不太好。在

首先,cx的freeze给了我build\exe.win32-3.5\文件夹,里面有exe文件和其他文件,还包了文件夹(编码、xml、集合、ctypes和其他)。在

在安装过程中,我将build\exe.win32-3.5\中的所有文件(但没有包文件夹)复制到安装中,因为我认为安装后,应用程序将在<python>Lib中查找它们,因为我已经正确地设置了系统变量!(我还是不知道为什么!)在

解决方案:在设置.iss(我使用InnoSetup)我只执行了一条Source指令,它:

Source: "C:\Users\anonymous\Desktop\stage\python3\build\exe.win32-3.5\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: users-modify

相关问题 更多 >