【问题标题】:pyngrok downloads ngrok each time i run the pyinstaller executable. How can i make it download ngrok only once?每次我运行 pyinstaller 可执行文件时,pyngrok 都会下载 ngrok。我怎样才能让它只下载一次ngrok?
【发布时间】:2020-12-22 01:52:58
【问题描述】:

当我第一次运行脚本时,它会在 python38\Lib\site-packages\pyngrok\bin 文件夹中下载文件 ngrok.exe,并在第二次运行脚本时使用下载的 ngrok.exe,这是预期的。

但是当我制作一个可执行文件时,每次用户运行该可执行文件时它都会下载 ngrok。

那么我怎样才能告诉pyngrok只在可执行文件第一次执行时下载ngrok.exe,然后使用下载的文件而不是每次都下载呢?

这是我的代码 sn-p:

pyngrok_config = PyngrokConfig(region="au")
ngrok.set_auth_token(auth_code)   # auth_code is a string
tunnel = ngrok.connect(4444, "tcp", pyngrok_config=pyngrok_config)

【问题讨论】:

    标签: python pyinstaller ngrok pyngrok


    【解决方案1】:

    正如您所观察到的,pyngrok 应该只下载一次ngrok 二进制文件。如果它一遍又一遍地下载它,它可能被下载到一个缓存位置,因此每次应用程序退出时都会被吹走。

    这是如何发生的将很大程度上取决于您的可执行文件是如何构建的,因此我们需要更多信息来专门解决该问题。但是,更好的解决方案是简单地修改您的ngrok_path,以便明确设置二进制文件的下载位置,如here 所述。作为奖励,这还可以帮助您进行调试。

    from pyngrok.conf import PyngrokConfig
    from pyngrok import conf
    
    conf.set_default(PyngrokConfig(region="au", ngrok_path="/usr/local/bin/ngrok"))
    

    【讨论】:

      猜你喜欢
      • 2011-07-25
      • 2022-01-16
      • 2021-05-29
      • 2020-10-24
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 2021-04-25
      • 2017-12-05
      相关资源
      最近更新 更多