我有一个Python脚本,试图将其转换为可执行文件,以便其他计算机可以在不安装Python的情况下使用它。我一直在尝试使用PyInstaller,但是我一直遇到问题,我认为是因为我已经安装了Selenium模块。我发现this link from a couple months ago,并尝试遵循用户的操作,但使用Firefox而不是Chrome除外,但是我的程序仍然无法作为可执行文件运行。当应该打开Firefox时,我的程序将结束/崩溃。
这是我按照上面的帖子中的答案制作的.spec文件,以及他认为有效的用户评论:
# -*- mode: python -*-
block_cipher = None
a = Analysis(['main.py'],
pathex=['C:\\Users\\Matthew\\Desktop\\Python'],
binaries=[('C:\\Python\\browserdriver\\geckodriver.exe' , '.')],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='Work Bot v1.5',
debug=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='main')
以下是我的Python脚本中的相关行:
path = os.path.join(sys._MEIPASS, "geckodriver")
driver = webdriver.Firefox(path)
非常感谢您的帮助!
在命令提示符下运行该程序后,在程序崩溃之前我看到了该错误:
Traceback (most recent call last):
File "main.py", line 404, in <module>
File "site-packages\selenium\webdriver\firefox\webdriver.py", line 147, in __init__
File "site-packages\selenium\webdriver\firefox\firefox_profile.py", line 78, in __init__
File "shutil.py", line 309, in copytree
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\Matthew\\Desktop\\Python\\dist\\main\\geckodriver'
[3056] Failed to execute script main