【问题标题】:I am having a hard time turning my .py file into an executable file我很难将我的 .py 文件转换为可执行文件
【发布时间】:2020-08-20 14:19:21
【问题描述】:

所以我刚刚使用 pygame 制作了我的第一款游戏。我想还应该注意我在 Mac 上使用 ios

我下载了 pyinstaller,当我使用 pyinstaller 时,我得到一个文件,当我尝试执行它时,会得到图 1 中的以下消息。 文件的编码对于 Python 3.x 无效。 IDLE 会将其转换为 UTF-8。当前的编码是什么

picture 1

我不知道该填什么而不是 UTF-8(无论这意味着什么),所以我只需按确定,然后我会在图 2 中看到以下消息。

picture 2

因此,当我想将 .py 文件转换为可执行文件时,它只是将其转换为需要解码的 .pyc 文件。 (不管那是什么意思)

我使用 pycharm 编写代码,当我将其放入 pyinstaller 时,它看起来像图片 3:

picture 3

无论如何感谢您的帮助!

我已经尝试过 pyinstaller --onefile -w [filename] 但这也不起作用picture 4

下面是我执行 pyinstaller 后的代码,我得到的可能会有所帮助。

$ pyinstaller /Users/colemanschnaak/PycharmProjects/flappybird/flappybird.py 
282 INFO: PyInstaller: 4.0
282 INFO: Python: 3.7.7
299 INFO: Platform: Darwin-17.7.0-x86_64-i386-64bit
301 INFO: wrote /Users/colemanschnaak/flappybird.spec
305 INFO: UPX is not available.
306 INFO: Extending PYTHONPATH with paths
['/Users/colemanschnaak/PycharmProjects/flappybird', '/Users/colemanschnaak']
352 INFO: checking Analysis
359 INFO: Building because inputs changed
359 INFO: Initializing module dependency graph...
362 INFO: Caching module graph hooks...
381 INFO: Analyzing base_library.zip ...
2778 INFO: Processing pre-find module path hook distutils from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks/pre_find_module_path/hook-distutils.py'.
2782 INFO: distutils: retargeting to non-venv dir '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7'
4452 INFO: Caching module dependency graph...
4564 INFO: running Analysis Analysis-00.toc
4582 INFO: Analyzing /Users/colemanschnaak/PycharmProjects/flappybird/flappybird.py
4984 INFO: Processing module hooks...
4985 INFO: Loading module hook 'hook-pkg_resources.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5203 INFO: Processing pre-safe import module hook win32com from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/_pyinstaller_hooks_contrib/hooks/pre_safe_import_module/hook-win32com.py'.
5603 WARNING: Hidden import "pkg_resources.markers" not found!
5605 INFO: Excluding import '__main__'
5606 INFO:   Removing import of __main__ from module pkg_resources
5607 INFO: Loading module hook 'hook-xml.etree.cElementTree.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5610 INFO: Loading module hook 'hook-encodings.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5695 INFO: Loading module hook 'hook-pygame.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5697 WARNING: Hidden import "pygame._view" not found!
5698 INFO: Loading module hook 'hook-sysconfig.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5712 INFO: Loading module hook 'hook-xml.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5978 INFO: Loading module hook 'hook-distutils.py' from '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks'...
5997 INFO: Looking for ctypes DLLs
6011 INFO: Analyzing run-time hooks ...
6015 INFO: Including run-time hook '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/hooks/rthooks/pyi_rth_pkgres.py'
6024 INFO: Looking for dynamic libraries
6762 INFO: Looking for eggs
6763 INFO: Using Python library /Library/Frameworks/Python.framework/Versions/3.7/Python
6770 INFO: Warnings written to /Users/colemanschnaak/build/flappybird/warn-flappybird.txt
6806 INFO: Graph cross-reference written to /Users/colemanschnaak/build/flappybird/xref-flappybird.html
6821 INFO: checking PYZ
6824 INFO: Building because toc changed
6824 INFO: Building PYZ (ZlibArchive) /Users/colemanschnaak/build/flappybird/PYZ-00.pyz
7273 INFO: Building PYZ (ZlibArchive) /Users/colemanschnaak/build/flappybird/PYZ-00.pyz completed successfully.
7280 INFO: checking PKG
7281 INFO: Building because toc changed
7282 INFO: Building PKG (CArchive) PKG-00.pkg
7298 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
7299 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/bootloader/Darwin-64bit/run
7299 INFO: checking EXE
7301 INFO: Building because toc changed
7302 INFO: Building EXE from EXE-00.toc
7302 INFO: Appending archive to EXE /Users/colemanschnaak/build/flappybird/flappybird
7308 INFO: Fixing EXE for code signing /Users/colemanschnaak/build/flappybird/flappybird
7313 INFO: Building EXE from EXE-00.toc completed successfully.
7315 INFO: checking COLLECT
7315 INFO: Building COLLECT because COLLECT-00.toc is non existent
WARNING: The output directory "/Users/colemanschnaak/dist/flappybird" and ALL ITS CONTENTS will be REMOVED! Continue? (y/N)

然后在我点击“是”后,我得到了这个:

WARNING: The output directory "/Users/colemanschnaak/dist/flappybird" and ALL ITS CONTENTS will be REMOVED! Continue? (y/N)y
On your own risk, you can use the option `--noconfirm` to get rid of this question.
312239 INFO: Removing dir /Users/colemanschnaak/dist/flappybird
312266 INFO: Building COLLECT COLLECT-00.toc
314548 INFO: Building COLLECT COLLECT-00.toc completed successfully.

如果我拒绝:

WARNING: The output directory "/Users/colemanschnaak/dist/flappybird" and ALL ITS CONTENTS will be REMOVED! Continue? (y/N)n
User aborted

我的mac上python的默认版本也是2.7

$ python --version
Python 2.7.18

这和我为什么不能打包 .py 文件有什么关系吗?感觉我是在 3.7 中写的

【问题讨论】:

  • 请告诉您如何使用 pyinstaller,因为当您尝试命令 pyinstaller PyFilePath.py 它会在 Pyfile 目录中创建一些文件夹
  • 好的,我刚刚添加了第三张图片,希望对您有所帮助!

标签: python installation pygame executable


【解决方案1】:

我认为pyinstaller 无法理解flapybird.py 的路径。您可以尝试一件事,将整个flapybird目录复制到pyinstaller.exe所在的(python根目录)python37\libs\site-packeges\pyinstaller\,然后使用该目录打开bash并尝试pyinstaller -w -f“ flyybird\flapybird.py" 命令。

【讨论】:

  • 谢谢!但现在还是运气:(
  • 不好意思说运气不好哈哈
【解决方案2】:

如果你用python 3编写代码,你可以放一些重音字符。但是 Python 2 IDLE 无法读取这些字符。

PS : 我写了here 一个GUI,它将.py 或.pyw 文件转换为.exe 文件。

【讨论】:

  • 是的,我尝试使用 GUI,但由于某种原因,当我将 .py 文件放入其中时,没有转换按钮,唯一的按钮是浏览按钮
  • 您收到错误了吗?是所有小部件都存在,还是只是按钮?我不知道为什么它不起作用。对我来说,程序可以通过 Python IDLE 或直接从资源管理器中读取文件来工作。但也许你使用 Pycharm、Visual Studio 或调试器……在这种情况下,我帮不了你。
  • 是的,我使用 pycharm :/ 但只有一键上传文件
  • ...我不明白。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2013-04-05
  • 2022-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多