我使用Python 3.4.3,我能够使用py2exe构建tkinter程序,它启动没有问题,除了selenium部分之外所有其他功能都正常工作 . 当我尝试在程序中调用该函数时,我收到以下错误 .

我试图移动.json文件 . webdriver.xpi似乎工作,但我总是在webdriver_prefs.json文件上得到一个错误 . 当我尝试将文件"webdriver_prefs.json"移动到library.zip时,我得到一个损坏错误,我不确定该窗口是问题还是文件 . 当我在IDLE中运行程序时,它可以正常工作而没有错误 .

当包装在EXE中时

Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
        return self.func(*args)
      File "SearchTool.pyw", line 121, in graniteWebSearch
      File "C:\Python34\lib\site-packages\selenium-2.47.1-    py3.4.egg\selenium\webdriver\firefox\webdriver.py", line 47, in __init__
        self.profile = FirefoxProfile()
      File "C:\Python34\lib\site-packages\selenium-2.47.1-    py3.4.egg\selenium\webdriver\firefox\firefox_profile.py", line 63, in __init__
        WEBDRIVER_PREFERENCES)) as default_prefs:
    FileNotFoundError: [Errno 2] No such file or directory:     'H:\\Python\\dist\\SearchTool.exe\\selenium\\webdriver\\firefox\\webdriver_prefs.json'

当未包装在EXE中时

Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
        return self.func(*args)
      File "SearchTool.pyw", line 121, in graniteWebSearch
      File "C:\Python34\lib\site-packages\selenium-2.47.1-    py3.4.egg\selenium\webdriver\firefox\webdriver.py", line 47, in __init__
        self.profile = FirefoxProfile()
      File "C:\Python34\lib\site-packages\selenium-2.47.1-    py3.4.egg\selenium\webdriver\firefox\firefox_profile.py", line 63, in __init__
        WEBDRIVER_PREFERENCES)) as default_prefs:
    FileNotFoundError: [Errno 2] No such file or directory:     'H:\\Python\\dist\\library.zip\\selenium\\webdriver\\firefox\\webdriver_prefs.json'

我的设置文件

from distutils.core import setup
    import py2exe
    data_files = [("selenium/webdriver/firefox", ["webdriver_prefs.json",           "webdriver.xpi"])]
    manifest = """
    recursive-include *.json
    """
    setup(
        name = 'SearchTool',
        version = 1,
        py_modules = ['selenium', 'tkinter'],
        windows = ["SearchTool.pyw"],
        author = 'That guy',
        author_email = 'someemail',
        url = 'NONE',
        description = 'Basic do all program.',
        data_files=data_files,
        zipfile=None,
        options={
            'py2exe':
                {
                    'skip_archive': False,
                    'bundle_files': 3,
                }
        }
    )