【问题标题】:Code doesn't run after packaging with Pyinstaller使用 Pyinstaller 打包后代码不运行
【发布时间】:2019-08-28 11:43:24
【问题描述】:

我使用 robobrowser 创建了一个代码来检查网站状态并将其记录到文件中,如果 HTTP 响应不是 400,则发送邮件。

后来我不得不添加 Pypac,因为我的系统在代理之后。

其余代码在打包后工作。我在不同的机器上试过(它们不在代理后面)

我添加代理后,打包的 .exe 立即停止工作。

我也尝试在 Hidden Imports 中添加“pypac”。


from pypac import PACSession
from robobrowser import RoboBrowser


session = PACSession()
browser = RoboBrowser(history=True, session=session)

由于代理部分不工作。

它会抛出如下错误:

“urlopen错误[WinError 10060]连接尝试失败,因为连接方一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应”

当我使用 python 运行相同的代码时。没有错误。

【问题讨论】:

    标签: python python-3.x python-2.7 pyinstaller


    【解决方案1】:

    我只是用 PyPac 重新编写了一个小代码,并使用 Pyinstaller 将其打包,console=True。

    返回的错误是

    FileNotFoundError: [Errno 2] 没有这样的文件或目录:'C:\Users\CHOWDH~1\AppData\Local\Temp\_MEI199722\tld\res\effective_tld_names.dat.txt'

    所以在打包时我使用规范文件C:\Python\Python37-32\Lib\site-packages\tld\res

    添加了数据

    Spec File Screenshot

    datas=[('C:\Python\Python37-32\Lib\site-packages\tld\res\effective_tld_names.dat.txt', 'tld\res')]

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 2015-09-24
      相关资源
      最近更新 更多