我无法在 Python3.7/pytest 中运行单元测试。该应用程序是一个 Flask-restplus 应用程序,我使用 sqlalchemy 和 psycopg2 与 PostgreSQL10 数据库交互。这段代码在更新我的系统之前曾经有效。运行brew update一段brew upgrade时间后,openssl 被安装为 openssl@1.1,特别是 openssl@1.1.1b。我收到的确切错误是
E ImportError: dlopen(/Users/myuser/myproject/.tox/dev/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libssl.1.1.dylib
E Referenced from: /Users/myuser/myproject/.tox/dev/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so
E Reason: image not found
Run Code Online (Sandbox Code Playgroud)
另外,我正在运行 OSX Mojave 版本 10.14.4。
我尝试过对库进行符号链接并重新安装 openssl 以及此处提到的其他方法:psycopg2 安装错误 - 库未加载: libssl.dylib。请注意,我将符号链接中的 openssl 版本更改为 1.1 而不是 1.0,但这仍然没有解决问题。
我希望测试能够通过(他们在同事设置上进行,这是相同的 MacBook、操作系统版本和自制设置),但是任何与数据库交互的测试都会失败并出现上述错误。