使用Selenium模块创建Exe: Py2exe/Pyinstaller



我到处都找过了。Stackoverflow,各种留言板,py2exe网站,pyinstaller网站…没有任何帮助。包括selenium模块,特别是制作一个支持firefox的exe,似乎是不可能的。我开始拔我的头发,因为使用py2exe和pyinstaller是一个巨大的头痛。

py2exe和pyinstaller都有各自的问题。

我的目标是使成为一个单一的exe文件,没有任何额外的目录,这样其他人可以使用我的程序,如果他们没有python/modules。

使用py2exe,如果我创建一个setup.py文件,如

from distutils.core import setup
import py2exe
setup(
name='Ask Alfred',
data_files = [('Drivers', ['Drivers/chromedriver.exe',
             'Drivers/webdriver.xpi','Drivers/webdriver_prefs.json'])],
version='1.0',
description='Find emails fast!',
author='Me',
windows=[{'script': 'alphy.py'}],
options={
    'py2exe':
        {
            'skip_archive': False,
            'optimize': 2,
        }
}
)

它将在dist文件夹和驱动器文件夹中创建一个我需要的文件的exe,但是,如果我尝试运行exe,它会告诉我它找不到这些文件(因为它正在library.zip文件夹中寻找它们)。最重要的是,我的GUI看起来很糟糕(字体现在是灰色的而不是黑色的,白色背景的图像现在是灰色的)。

使用pyinstaller,如果我在创建exe时使用"——onefile"标志,它根本不起作用/firefox和chrome都无法启动。

如果我选择不存档/不制作一个文件,我只能得到可行的结果。在这种情况下,pyinstaller提供一个完整的工作解决方案。

试试这个:

options={
    'py2exe':
        {
            'skip_archive': True,
            'unbuffered': True,
            'bundle_files': 2, #assuming you dont want to include the python interpreter
            'optimize': 2,
        },
},
zipfile = None

最新更新