将Pyinstaller转换为非Python机器的可执行文件

时间:2019-03-09 08:40:17

标签: python selenium-webdriver selenium-chromedriver

我使用pyinstaller将python脚本转换为独立的可执行文件。该脚本具有导入硒库,以启动chrome驱动程序和浏览器。

pyinstaller -w -F -i "automate_robot.ico" --add-binary chromedriver.exe;. mbb.py

所以我的.spec文件看起来像这样

# -*- mode: python -*-

block_cipher = None


a = Analysis(['mbb.py'],
             pathex=['C:\\Users\\Jack Wong\\Desktop\\Python\\Automate'],
             binaries=[('chromedriver.exe', '.')],
             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='mbb',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          runtime_tmpdir=None,
          console=False , icon='automate_robot.ico')

所以在我的机器上可以正常工作,但是当我在另一台没有安装python的机器上执行它们时。某些机器能够启动浏览器,但遇到索引错误,而某些机器无法启动浏览器,并显示有关缺少的python.dll文件和运行时文件的错误消息。

关于索引错误,是因为我的机器将使用2个选项卡启动浏览器,所以我的脚本将关闭这些选项卡之一并集中其余选项卡并重定向到特定URL。

所以我想知道

  1. 为什么我的计算机启动带有2个选项卡的浏览器,而另一台计算机启动具有1个选项卡的浏览器?
  2. 当我在其他计算机上执行可执行文件时,为什么有些人可以启动浏览器,而有些人会遇到丢失的.dll文件错误?

我曾经在网上搜索过,可以找到任何相关主题。

请告知。谢谢。

我的机器规格是Windows 10,并使用Python37

0 个答案:

没有答案