为pyins加载python27.dll错误

2024-05-13 17:33:06 发布

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

我已经成功地编辑了我的spec文件,并将包含我的数据的文件夹添加到其中。它构建得很好,但仍然无法访问数据。当我尝试运行compiled.exe时,会出现以下错误:Error loading Python DLL: C:\Users\Sal\AppData\Local\Temp\_MEI60122\python27.dll (error code 126)

编辑1-我仍然没有弄清楚我的规范文件是这样的:

a = Analysis(['Clock_In.py'],
             pathex=['C:\\Users\\Sal\\Desktop'],
             hiddenimports=[],
             hookspath=None,
             runtime_hooks=None)
a.datas += [('CO_time.pkl','CO_time.pkl', 'DATA')]
a.datas += [('hours.pkl','hours.pkl', 'DATA')]
a.datas += [('Obj_file.pkl','Obj_file.pkl', 'DATA')]
a.datas += [('weekly_hours_dict.pkl','weekly_hours_dict.pkl', 'DATA')]



pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.datas,
          a.binaries,       
          a.scripts,
          exclude_binaries=True,
          name='Clock_In.exe',
          debug=False,
          strip=None,
          upx=True,
          console=True, 
          icon="C:\Users\Sal\Desktop\Raindropmemory-Legendora-BrokenSword.ico")
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=None,
               upx=True,
               **name='Clock_In')

编辑2

我正在64位操作系统(windows 8)上使用32位python,我注意到这可能会导致我的问题,但仍然没有解决方案。

编辑3

所以我刚刚尝试下载64位python并将其放到我的系统路径中。用我的.spec文件运行pyinstaller,仍然得到完全相同的错误代码!怎么回事!不过,一个奇怪的细节是,spec文件中的icon="C:\Users\Sal\Desktop\Raindropmemory-Legendora-BrokenSword.ico")语句成功执行并更新了图标,而与之前一样,它不会执行并更新图标。

编辑4

这是我在我的代码中直接从文档中获取的关于MEIPASS的语句。

if getattr(sys, 'frozen', False):
# we are running in a |PyInstaller| bundle
basedir = sys._MEIPASS
else:
# we are running in a normal Python environment
basedir = os.path.dirname(__file__)

Tags: 文件innonetrue编辑dataexeusers
3条回答

您将该代码片段放在要转换为可执行文件的Python脚本的正上方—不在规范中,也不在它自己的脚本中。我在这里找到了一个例子:

https://shanetully.com/2013/08/cross-platform-deployment-of-python-applications-with-pyinstaller/

在创建这样的独立可执行文件后,我发现了相同的错误:

pyi-makespec.exe -F program.py
## Customize script.spec just created

以及

pyinstaller.exe -F script.spec

所以我需要以管理员的身份运行可执行文件来解决这个问题。

我不知道原因,因为那不是我的电脑。我已经在我的第一个过程中,并像一个魅力工作,但不在那里。可能是一些安全配置或的奇怪安装,但是我在这里添加这个解决方案是因为我找了几个小时都没有成功,这是一个简单的任务,可以在尝试更复杂的方法之前为您节省一些时间。

我遇到了同样的问题,最后发现原因是杀毒软件把“python27.dll”当成木马,并在尝试加载exe时将其删除。

将“..\AppData\Local\Temp”添加到受信任区域可解决此问题。

相关问题 更多 >