【发布时间】:2021-06-09 17:19:54
【问题描述】:
我想用 pyinstaller 创建一个简单的 python 脚本的简单 .exe 文件。我按照指南(https://www.pyinstaller.org/):
- 点安装 pyinstaller
- pyinstaller yourprogram.py
但我没有在 DIST 文件夹中获取我的 .exe 文件,如 https://pyinstaller.readthedocs.io/en/stable/usage.html 中所述:
在 dist 文件夹中,您可以找到分发给您的捆绑应用程序 用户。
我将 Python 3.7.6 与 anaconda 一起使用。我首先从www.pypi.org/project/pyinstaller/ 下载 PyInstaller,它是 4.2 版,但它给了我同样的以下错误,所以我尝试使用正在开发的最新版本 5.0。
就我而言,我是在 Anaconda Prompt 中执行的:
C:\Users\David Gomez\Desktop\test>pyinstaller simple.py
我得到:
1418 INFO: PyInstaller: 5.0.dev0
1418 INFO: Python: 3.7.6 (conda)
1418 INFO: Platform: Windows-10-10.0.19041-SP0
1432 INFO: wrote C:\Users\David Gomez\Desktop\test\simple.spec
1434 INFO: UPX is not available.
script 'C:\Users\David Gomez\Desktop\test\simple.py' not found
然后找不到脚本。经过一番研究,我认为问题在于我的名字“David Gomez”之间的路径中的空格,所以我用引号写了路径:
C:\Users\David Gomez\Desktop\test>pyinstaller "C:\Users\David Gomez\Desktop\test\simple.py"
但同样的错误仍然存在。
然后我发现另一个人有同样的问题(Script not found when using pyinstaller),但答案并不令人信服,我显然不想安装另一个 python。我创建了一个新主题,因为该主题不再更新,建议的解决方案:
我找到了解决方案。我必须首先从他们自己的网站而不是 Windows 商店安装 Python。然后我不得不将它添加到 PATH 中。在此之后它仍然无法正常工作,因为我使用的是 Python 3.8.0,所以我必须安装 pyinstaller 开发版本。
任何想法可能是什么问题?任何帮助或猜测表示赞赏。如果需要进一步澄清,请告诉我。
编辑部分
当我使用命令dir 检查我的文件夹时,我得到:
C:\Users\David Gomez\Desktop\test>dir
Le volume dans le lecteur C s’appelle Windows
Le numéro de série du volume est 3AFA-C44C
Répertoire de C:\Users\David Gomez\Desktop\test
15.03.2021 11:20 <DIR> .
15.03.2021 11:20 <DIR> ..
11.03.2021 15:52 160 simple.py.py
1 fichier(s) 160 octets
2 Rép(s) 166,905,487,360 octets libres
然后,我执行命令C:\Users\David Gomez\Desktop\test>pyinstaller "C:\Users\David Gomez\Desktop\test\simple.py" 并创建两个新的空文件夹(build、dist)和一个文件simple.spec。通常,如果一切正常,则文件夹不为空。现在,如果我再次使用dir 命令检查我的文件夹:
C:\Users\David Gomez\Desktop\test>dir
Le volume dans le lecteur C s’appelle Windows
Le numéro de série du volume est 3AFA-C44C
Répertoire de C:\Users\David Gomez\Desktop\test
11.03.2021 16:57 <DIR> .
11.03.2021 16:57 <DIR> ..
11.03.2021 16:57 <DIR> build
11.03.2021 16:57 <DIR> dist
11.03.2021 15:52 160 simple.py.py
11.03.2021 17:41 1,059 simple.spec
2 fichier(s) 1,219 octets
4 Rép(s) 166,908,215,296 octets libres
Simply.py 在文件夹中,但 pyinstaller 找不到,我仍然不知道该怎么办。
我不知道它是否有用,但这里有 simple.spec 的内容:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['simple.py'],
pathex=['C:\\Users\\David Gomez\\Desktop\\test'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False) pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher) exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='simple',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True ) coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='simple')
【问题讨论】:
标签: python python-3.x pyinstaller