我想用pyinstaller创建一个简单的python脚本的简单.exe文件。我遵循指南(https://www.pyinstaller.org/):
- pip install 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提示:
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
型
然后找不到脚本。经过一些研究,我认为问题在于我的名字“大卫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。然后我把它添加到一个路径。在此之后,它仍然无法工作,因为我使用的是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')
型
3条答案
按热度按时间0wi1tuuw1#
您的问题与pyinstaller安装位置无关,而是该目录中不存在
simple.py
文件。(至少在我看来是这样的)bxjv4tth2#
这听起来可能很奇怪,但尝试输入
字符串
当你尝试在编辑器中创建一个带有
.py
的文件,并且你没有影响windows(或任何其他操作系统)中的文件的名称时,编辑器将创建file.py.py
所以要注意这一点:)
axr492tv3#
2023年7月。解决方案:我也遇到了同样的问题,就是找不到脚本。我是如何解决的,最后...
1.删除所有旧的build和dist文件夹
1.将new_code.py重命名为newcode.py(删除下划线)
1.我将newcode.py转移到PyInstaller所在的文件夹中
1.从那里运行命令pyinstaller --onefile code.py。
终于成功了,让我松了一口气!:)