ssl pyinstaller的条带TLS CA证书问题

roqulrg3  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(209)
    • bounty将在2天后过期**。回答此问题可获得+50声望奖励。jordangrogan希望引起更多人关注此问题。

我一直在为我的程序使用Stripe Python模块。当我直接将我的文件作为. py文件运行时,它运行没有任何问题,只要我用Pyarmor将它转换为exe,它使用Pyinstaller,我就会得到一个TLS CA证书丢失错误。
错误:

Unexpected error communicating with Stripe. It looks like there's
probably a configuration issue locally.  If this problem persists, let
us know at support@stripe.com.

(Network error: A OSError was raised with error message Could not find a suitable TLS CA certificate bundle, invalid path: C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI119082\stripe\data\ca-certificates.crt)

有人能帮忙吗?

agxfikkp

agxfikkp1#

我一直在处理这个问题,你有没有尝试过这样的解决方案。它解决了可执行文件的权限问题,不允许exe中的pyfile直接引用路径变量。解决方法是将路径变量读入一个特殊的路径变量中,该变量在成为exe后可以与环境接口。
最好的解决方案是这样的:

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    if hasattr(sys, '_MEIPASS'):
        return os.path.join(sys._MEIPASS, relative_path)

    return os.path.join(os.path.abspath("."), relative_path)

Original Post of this function
可能是一个完全不同的问题与pyinstaller虽然我认为这是同一个我有。

相关问题