![](/img/trans.png)
[英]How do I run a Python 3.5 program that uses Tkinter on a computer without Python installed?
[英]How do I run a Python program created by Pyinstaller that uses Webbot?
我正在嘗試運行一個使用 Webbot 的相當簡單的 Windows Python 3.7 腳本。 該腳本在 Python 的 IDLE 中運行良好,所以我知道我編寫的代碼有效並且沒有任何問題,但我想將它作為 .exe 運行。 然而在用 Pyinstaller 打包后(通常效果很好),雖然 Pyinstaller 進程運行,但實際生成的程序根本不會運行。
我看了一下here,但這並沒有多大幫助。 如果我編譯使用:
pyinstaller file.py
按照建議,當我運行生成的 .exe 時,程序會立即關閉,沒有錯誤消息。
如果我改為嘗試:
pyinstaller --onefile file.py
或者:
pyinstaller file.py -F
然后,當我運行編譯后的 .exe 時,我收到以下消息:
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\KimJiwoo\\Appdata\\Local\\Temp\\_MEI51362\\drivers\\chrome_windows.exe'
所以我想我需要 chrome_windows.exe?
我想我可以給程序這個文件,但 _MEI 文件夾是一個臨時目錄,似乎每次都會創建。 我試過把 chrome_windows.exe 放在其他地方,比如 System32 或 file.py 或創建的 .exe 所在的同一目錄,也會發生同樣的錯誤。
所以我想我必須讓這個程序以某種方式看到 chrome_windows.exe 但我不確定如何。 我已經有了
from webbot import Browser
在我的腳本中,但顯然我需要更多的東西。 不確定是什么。
請注意,我並不擔心 Python 程序是否在其自己創建的 .exe 中包含 chrome_windows.exe。 我的意思是,那會很好,但是如果將 chrome_windows.exe 推入運行程序的計算機上的目錄中更簡單的編碼方式,並且程序中的某些內容指向它那里,那也可以. 我覺得這個問題的答案可能很簡單,所以我追求的是最簡單、最優雅的解決方案。
Webbot
源中 webdriver 的路徑似乎是driverpath = os.path.join(os.path.split(__file__)[0] , 'drivers{0}{1}'.format(os.path.sep , driverfilename))
(編譯為exe時,文件目錄在TEMP中)。
您可以使用源代碼制作自己的類並更改目錄路徑(github.com/nateshmbhat/webbot/blob/master/webbot/webbot.py)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.