我编写了一个简单的应用程序,它使用Selenium来通过页面进行Nagivate并下载它们的源代码。现在我想让我的应用程序Windows可执行。
我的setup.py文件:

from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1,
                          "dll_excludes": ['w9xpopen.exe', 'MSVCP90.dll', 'mswsock.dll', 'powrprof.dll', 'MPR.dll', 'MSVCR100.dll', 'mfc90.dll'],
                          'compressed': True,"includes":["selenium"],
                          }
              },
    windows = [{'script': "main.py", "icon_resources": [(1, "hacker.ico")]}],
    zipfile = None
)

我的程序(main.py)(带有setup.py文件)位于C:\Documents and Settings\student\Desktop中。py2exe在C:\Documents and Settings\student\Desktop\dist中构建我的exe。
我将webdriver.xpiwebdriver_prefs.json文件都复制到C:\Documents and Settings\student\Desktop\dist\selenium\webdriver\firefox\中,但在尝试启动应用程序时出错:
Traceback (most recent call last):
  File "main.py", line 73, in <module>
  File "main.py", line 58, in check_file
  File "main.py", line 25, in try_to_log_in
  File "selenium\webdriver\firefox\webdriver.pyo", line 47, in __init__
  File "selenium\webdriver\firefox\firefox_profile.pyo", line 63, in __init__
IOError: [Errno 2] No such file or directory: 'C:\\Documents and Settings\\student\\Desktop\\dist\\main.exe\\selenium\\webdriver\\firefox\\webdriver_prefs.json'

如何解决这个问题?
实际上,它与以下文件一起工作:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')

wd_path = 'C:\\Python27\\Lib\\site-packages\\selenium\\webdriver'
required_data_files = [('selenium/webdriver/firefox',
                        ['{}\\firefox\\webdriver.xpi'.format(wd_path), '{}\\firefox\\webdriver_prefs.json'.format(wd_path)])]

setup(
    windows = [{'script': "main.py", "icon_resources": [(1, "hacker.ico")]}],
    data_files = required_data_files,
    options = {
               "py2exe":{
                         "skip_archive": True,
                        }
               }
)

但问题是我需要构建单个可执行文件。

最佳答案

您是否试图查看“bundle_files=1”问题的答案?它帮助我解决了那个特定的问题。

关于python - Py2exe和selenium - IOError:[Errno 2]没有这样的文件或目录:'\\dist\\main.exe\\selenium\\webdriver\\firefox\\webdriver_prefs.json',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33173386/

10-11 22:24
查看更多