每次运行pyinstaller可执行文件时,pyngrok都会下载ngrok。我怎样才能让它只下载一次ngrok?

2024-06-01 06:57:26 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

那么我如何告诉pyngrok在可执行文件执行时只在第一次下载ngrok.exe,然后使用下载的文件而不是每次下载

以下是我的代码片段:

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)

Tags: 文件脚本文件夹authconfig可执行文件binlib
1条回答
网友
1楼 · 发布于 2024-06-01 06:57:26

正如您所观察到的,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"))

相关问题 更多 >