首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Python文件转换为可执行文件

将Python文件转换为可执行文件
EN

Stack Overflow用户
提问于 2019-03-25 00:21:50
回答 1查看 689关注 0票数 0

Python: 3.6.5

PyInstaller: 3.4

我在使用PyInstaller、Py2Exe和Auto-Py- to -Exe将我的项目转换为可执行文件时遇到了问题。我只想要一个文件。我需要我的资产文件夹在我的exe中。由Auto Py To Exe生成的命令为:

代码语言:javascript
运行
复制
pyinstaller -y -F -w -i "D:/Eigene Dateien/Documents/Coding/Python/hangman/icon.ico" --add-data "D:/Eigene Dateien/Documents/Coding/Python/hangman/assets/images";"images/" --add-data "D:/Eigene Dateien/Documents/Coding/Python/hangman/assets/sounds";"sounds/" --add-data "D:/Eigene Dateien/Documents/Coding/Python/hangman/assets/words.txt";"." "D:/Eigene Dateien/Documents/Coding/Python/hangman/main.py"

如果我在PowerShell中使用它,它会说:

代码语言:javascript
运行
复制
In Zeile:1 Zeichen:175
+ ... nts/Coding/Python/hangman/assets/images";"images/" --add-data "D:/Eig ...
+                                                          ~~~~~~~~
Unerwartetes Token "add-data" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:262
+ ... nts/Coding/Python/hangman/assets/sounds";"sounds/" --add-data "D:/Eig ...
+                                                          ~~~~~~~~
Unerwartetes Token "add-data" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:344
+ ... ds.txt";"." "D:/Eigene Dateien/Documents/Coding/Python/hangman/main.p ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unerwartetes Token ""D:/Eigene Dateien/Documents/Coding/Python/hangman/main.py"" in Ausdruck oder Anweisung.
In Zeile:1 Zeichen:163
+ ... eien/Documents/Coding/Python/hangman/assets/images";"images/" --add-d ...
+                                                         ~~~~~~~~~
Der Operator "--" kann nur für Variablen oder Eigenschaften verwendet werden.
In Zeile:1 Zeichen:250
+ ... eien/Documents/Coding/Python/hangman/assets/sounds";"sounds/" --add-d ...
+                                                         ~~~~~~~~~
Der Operator "--" kann nur für Variablen oder Eigenschaften verwendet werden.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

抱歉,有些文本是德语:/

代码语言:javascript
运行
复制
D:\Eigene Dateien\Documents\Coding\Python\hangman>pyinstaller -y -F -w -i "D:/Eigene Dateien/Documents/Coding/Python/hangman/icon.ico" --add-data "D:/Eigene Dateien/Documents/Coding/Python/hangman/assets/images";"images/" --add-data "D:/Eigene Dateien/Documents/Coding
/Python/hangman/assets/sounds";"sounds/" --add-data "D:/Eigene Dateien/Documents/Coding/Python/hangman/assets/words.txt";"." "D:/Eigene Dateien/Documents/Coding/Python/hangman/main.py"
75 INFO: PyInstaller: 3.4
75 INFO: Python: 3.6.5
76 INFO: Platform: Windows-10-10.0.17134-SP0
77 INFO: wrote D:\Eigene Dateien\Documents\Coding\Python\hangman\main.spec
80 INFO: UPX is not available.
82 INFO: Extending PYTHONPATH with paths
['D:\\Eigene Dateien\\Documents\\Coding\\Python\\hangman',
 'D:\\Eigene Dateien\\Documents\\Coding\\Python\\hangman']
82 INFO: checking Analysis
146 INFO: Appending 'datas' from .spec
151 INFO: checking PYZ
187 INFO: checking PKG
189 INFO: Building because toc changed
189 INFO: Building PKG (CArchive) PKG-00.pkg
410 WARNING: One binary added with two internal names.
410 WARNING: ('libGLESv2.dll',
 'C:\\users\\meiss\\appdata\\local\\programs\\python\\python36-32\\lib\\site-packages\\PyQt5\\Qt\\bin\\libGLESv2.dll',
 'BINARY')
410 WARNING: was placed previously at
411 WARNING: ('PyQt5\\Qt\\bin\\libGLESv2.dll',
 'C:\\users\\meiss\\appdata\\local\\programs\\python\\python36-32\\lib\\site-packages\\PyQt5\\Qt\\bin\\libGLESv2.dll',
 'BINARY')
13466 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
13476 INFO: Bootloader c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\bootloader\Windows-32bit\runw.exe
13476 INFO: checking EXE
13478 INFO: Building because console changed
13478 INFO: Building EXE from EXE-00.toc
13483 INFO: SRCPATH [('D:\\Eigene Dateien\\Documents\\Coding\\Python\\hangman\\icon.ico', None)]
13483 INFO: Updating icons from ['D:\\Eigene Dateien\\Documents\\Coding\\Python\\hangman\\icon.ico'] to C:\Users\meiss\AppData\Local\Temp\tmpiwaatz96
Traceback (most recent call last):
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\meiss\AppData\Local\Programs\Python\Python36-32\Scripts\pyinstaller.exe\__main__.py", line 9, in <module>
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\__main__.py", line 111, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\building\build_main.py", line 838, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\building\build_main.py", line 784, in build
    exec(text, spec_namespace)
  File "<string>", line 32, in <module>
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\building\api.py", line 433, in __init__
    self.__postinit__()
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
    self.assemble()
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\building\api.py", line 522, in assemble
    icon.CopyIcons(tmpnm, self.icon)
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\utils\win32\icon.py", line 177, in CopyIcons
    return CopyIcons_FromIco(dstpath, [srcpath])
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\utils\win32\icon.py", line 134, in CopyIcons_FromIco
    for i, f in enumerate(icons):
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\utils\win32\icon.py", line 104, in __init__
    entry.fromfile(file)
  File "c:\users\meiss\appdata\local\programs\python\python36-32\lib\site-packages\PyInstaller\utils\win32\icon.py", line 65, in fromfile
    self._fields_ = list(struct.unpack(self._format_, data))
struct.error: unpack requires a buffer of 16 bytes

这是IntelliJ (英语)格式的输出

EN

回答 1

Stack Overflow用户

发布于 2019-03-25 00:50:51

我把Pyinstaller降级到了3.1版,算是走运了。pip install pyinstaller==3.1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55325904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档