1

我正在尝试将我的 docker 映像从python:3.8.2-alpine3.10 切换python:3.9.0-alpine3.12,但是在运行 django 命令SSL_check_private_key: symbol not found时遇到问题。

运行检查时出现以下错误:

bash -c "touch /var/donor_reporting_portal/.touch && django-admin check --deploy " /usr/local/lib/python3.9/site-packages/environ/environ.py:628: UserWarning: /usr/local /lib/python3.9/site-packages/donor_reporting_portal/config/.env 不存在 - 如果您没有单独配置环境,请创建一个。回溯(最后一次调用):文件“/usr/local/bin/django-admin”,第 8 行,在 sys.exit(execute_from_command_line()) 文件“/usr/local/lib/python3.9/site-packages /django/core/management/ init .py”,第 401 行,在 execute_from_command_line 文件“/usr/local/lib/python3.9/site-packages/django/core/management/init .py ”,第 377 行,在执行中文件“/usr/local/lib/python3.9/site-packages/django/init.py”,第 24 行,设置文件“/usr/local/lib/python3.9/site-packages/django/apps/registry.py”,第 91 行,填充文件“/usr/local/lib/python3 .9/site-packages/django/apps/config.py”,第 116 行,在创建文件“/usr/local/lib/python3.9/importlib/init .py”,第 127 行,在 import_module 文件“”中第 1030 行,在 _gcd_import 文件“”中,第 1007 行,在 _find_and_load 文件中“”,第 986 行,在 _find_and_load_unlocked 文件中“”,第 680 行,在 _load_unlocked 文件中“”,第 790 行,在 exec_module 文件中“”,第 228 行,在 _call_with_frames_removed文件“/usr/local/lib/python3.9/site-packages/django/contrib/postgres/apps.py”,第 1 行,在文件“/usr/local/lib/python3.9/site-packages/psycopg2”中/初始化.py”,第 51 行,在 ImportError:重新定位 /usr/local/lib/python3.9/site-packages/psycopg2/_psycopg.cpython-39-x86_64-linux-gnu.so 时出错:SSL_check_private_key:找不到符号 make[ 2]: *** [.run] 错误 1 ​​make[1]: *** [test] 错误 2 make: *** [build] 错误 2

在我的机器上运行它时我没有遇到任何问题。

4

1 回答 1

1

Postgres 功能依赖于不可移植的二进制文件,通常必须在目标系统和 Python 版本上编译。Psycopg2 是为每个 Python 版本构建和发布的,但 psycopg2 的 3.9 版本尚未发布。

因此,截至今天,Python 3.9 上的 Psycopg2 尚不支持

于 2020-10-27T19:05:35.353 回答