![](/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.