我正在尝试使用以下命令使用pyinstaller创建可执行文件:
pyinstaller <script>.py
它在Linux中运行得非常好,但不知何故,这似乎不适用于Windows。
Python : 3.5
Pyinstaller : 3.4
但它不断地为系统抛出错误,找不到指定的路径:C:\ folder \ build \ scriptname
而通常在执行PyInstaller命令后创建构建文件夹。
Traceback (most recent call last):
File "C:\Program Files\Python 3.5\Scripts\pyinstaller-script.py", line 11, in <module>
load_entry_point('PyInstaller==3.4', 'console_scripts', 'pyinstaller')()
File "c:\program files\python 3.5\lib\site-packages\PyInstaller\__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\program files\python 3.5\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\program files\python 3.5\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:\program files\python 3.5\lib\site-packages\PyInstaller\building\build_main.py", line 741, in build
os.makedirs(pth)
File "c:\program files\python 3.5\lib\os.py", line 241, in makedirs
mkdir(name, mode)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\cms\\build\\cmstest
编辑:是的脚本工作,脚本在Win 10,Fedora 28或使用IDLE没有问题。
编辑:我得到一个.spec文件和一个空的dist文件夹
编辑:这是我的spec文件
block_cipher = None
a = Analysis(['cmsnewtest.py'],
pathex=['C:\\cms'],
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,
a.binaries,
a.zipfiles,
a.datas,
[],
name='cmsnewtest',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True ) `
对于Windows,请尝试以下操作。我将向您展示python 3.7的步骤。对于python 3.5是相同的方式: