Aft*_*set 9 python packaging pyinstaller python-2.7
我已成功编辑了我的spec文件,并将包含我数据的文件夹添加到其中.它构建正常,但仍然无法访问数据.当我尝试运行已编译的.exe时,我收到此错误:Error loading Python DLL: C:\Users\Sal\AppData\Local\Temp\_MEI60122\python27.dll (error code 126)
编辑1 -我仍然没有想到我的spec文件看起来像这样:
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')
Run Code Online (Sandbox Code Playgroud)
编辑2
我在64位操作系统(Windows 8)上使用32位python,我注意到这可能会导致我的问题,但仍然没有解决方案.
编辑3
所以我刚刚尝试下载64位python并将其放入我的系统路径中.用我的.spec文件运行pyinstaller仍然得到完全相同的错误代码!这里发生了什么!但是一个奇怪的细节是,icon="C:\Users\Sal\Desktop\Raindropmemory-Legendora-BrokenSword.ico")spec文件中的语句成功执行并更新了图标,而不是之前.
编辑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__)
Run Code Online (Sandbox Code Playgroud)
创建这样的独立可执行文件后,我发现了同样的错误:
pyi-makespec.exe -F program.py
## Customize script.spec just created
Run Code Online (Sandbox Code Playgroud)
和
pyinstaller.exe -F script.spec
Run Code Online (Sandbox Code Playgroud)
所以我需要以管理员身份运行可执行文件来解决它.
我不知道原因,因为它不是我的电脑.我先在我的工作中完成了这个过程并且像魅力一样工作但不在那里.也许是一些安全配置或python或wxpython的奇怪安装,但我在这里添加这个解决方案是因为我在寻找数小时没有成功,这是一个简单的任务,可以节省你一些时间,然后再尝试更复杂的方法.
小智 4
您将该代码片段放在要转换为可执行文件的 Python 脚本的顶部 - 不在规范中,也不在其自己的脚本中。我在这里找到了一个例子:
https://shanetully.com/2013/08/cross-platform-deployment-of-python-applications-with-pyinstaller/
| 归档时间: |
|
| 查看次数: |
23388 次 |
| 最近记录: |