代码在 pycharm 中运行良好,但在转换为 exe 时却没有
Code runs fine in pycharm, but when converted to exe it does not
基本上我的代码 运行 在 Pycharm 中没问题,但是当我使用 Pyinstaller 将它转换为 exe 时,它不起作用并给我错误。
我尝试了一些更改,但所有尝试都失败了。
Selenium.py
from selenium import webdriver
import ctypes
from webdriver_manager.firefox import GeckoDriverManager
#driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
user32 = ctypes.windll.user32
width = user32.GetSystemMetrics(0) # 2560 mine for example
height = user32.GetSystemMetrics(1) # 1440 mine for example
wT = width / 3
hT = height / 2
wB = width / 2
answer = height / 36
hB = (height / 2) - answer
wPa = width / 3
wPa2 = wPa * 2
hPa = height / 2
wPa3 = width / 2
def Window1():
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("https://www.google.co.uk/")
driver.set_window_size(wT, hT)
driver.set_window_position(0, 0)
driver.switch_to.window(driver.window_handles[0])
if __name__ == '__main__':
Window1()
Run.py
import threading
import Selenium
import time
t1 = threading.Thread(target=Selenium.Window1)
t1.start()
time.sleep(2)
^那是我的代码的缩减版本,我的代码打开了 5 windows 而不是 1 但这只是为了说明我 doing/how 我正在线程化它。希望这就足够了。
这是我尝试 运行 exe:
时遇到的错误
PyInstaller 似乎无法解析webdriver_manager
。所以你只需要将整个库作为数据文件添加 add-data
:
pyinstaller -F --add-data ".\env\Lib\site-packages\webdriver_manager;webdriver_manager" script.py
记得用正确的路径替换 webdriver_manager
路径。
基本上我的代码 运行 在 Pycharm 中没问题,但是当我使用 Pyinstaller 将它转换为 exe 时,它不起作用并给我错误。
我尝试了一些更改,但所有尝试都失败了。
Selenium.py
from selenium import webdriver
import ctypes
from webdriver_manager.firefox import GeckoDriverManager
#driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
user32 = ctypes.windll.user32
width = user32.GetSystemMetrics(0) # 2560 mine for example
height = user32.GetSystemMetrics(1) # 1440 mine for example
wT = width / 3
hT = height / 2
wB = width / 2
answer = height / 36
hB = (height / 2) - answer
wPa = width / 3
wPa2 = wPa * 2
hPa = height / 2
wPa3 = width / 2
def Window1():
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
driver.get("https://www.google.co.uk/")
driver.set_window_size(wT, hT)
driver.set_window_position(0, 0)
driver.switch_to.window(driver.window_handles[0])
if __name__ == '__main__':
Window1()
Run.py
import threading
import Selenium
import time
t1 = threading.Thread(target=Selenium.Window1)
t1.start()
time.sleep(2)
^那是我的代码的缩减版本,我的代码打开了 5 windows 而不是 1 但这只是为了说明我 doing/how 我正在线程化它。希望这就足够了。
这是我尝试 运行 exe:
时遇到的错误PyInstaller 似乎无法解析webdriver_manager
。所以你只需要将整个库作为数据文件添加 add-data
:
pyinstaller -F --add-data ".\env\Lib\site-packages\webdriver_manager;webdriver_manager" script.py
记得用正确的路径替换 webdriver_manager
路径。