Django DRF ошибка DLL Load Failed при импорте _rust в Python 3.11.3 venv в Windows Server 2022 с cryptography-43.0.1-cp39-abi3-win_amd64.whl
Мой код работает в локальной среде windows10 с venv на Python 3.10.11. Однако при развертывании в Windows Server 2022 с веб-сервером Apache2 с venv на Python 3.11.3 получаю следующую ошибку. Я пробовал обновлять, устанавливать бинарники. До сих пор проблема не решена. Может ли кто-нибудь помочь в решении этой проблемы?
Другие пакеты в проблемном окружении: cffi-1.17.1 cryptography-43.0.1 pycparser-2.22
from cryptography.hazmat.primitives.asymmetric import padding\r
File "C:\\cbsesb\\cbsenv\\Lib\\site-packages\\cryptography\\hazmat\\primitives\\asymmetric\\padding.py", line 9, in <module>\r
from cryptography.hazmat.primitives import hashes\r
File "C:\\cbsesb\\cbsenv\\Lib\\site-packages\\cryptography\\hazmat\\primitives\\hashes.py", line 9, in <module>\r
from cryptography.hazmat.bindings._rust import openssl as rust_openssl\r
ImportError: DLL load failed while importing _rust: The specified module could not be found.\r
Package Version
----------------------- ---------
asgiref 3.7.1
certifi 2023.7.22
cffi 1.17.1
charset-normalizer 3.3.2
cryptography 43.0.1
cx-Oracle 8.3.0
defusedxml 0.7.1
dicttoxml 1.7.16
Django 4.2.1
djangorestframework 3.14.0
djangorestframework-xml 2.0.0
idna 3.6
ldap3 2.9.1
lxml 4.9.3
mod-wsgi 4.9.4
pip 24.2
psycopg2 2.9.6
pyasn1 0.6.0
pycparser 2.22
pycryptodome 3.18.0
pyOpenSSL 24.2.1
pytz 2023.3
requests 2.31.0
setuptools 74.1.2
signxml 3.2.1
soupsieve 2.5
sqlparse 0.4.4
typing_extensions 4.6.1
tzdata 2023.3
urllib3 2.2.0
xmltodict 0.12.0
Пытался обновить инструменты настройки, но ничего не вышло
python -m pip install --upgrade pip setuptools
Пытался понизить версию Python до 3.10, но ничего не вышло.
Установка Rust не работает.
Пробовал установить бинарник для криптографии, но ничего не вышло.
python -m pip install cryptography --only-binary cryptography
Проблема связана с окружением. Она была решена путем удаления использования пакета cryptography
. Я избежал проблемы, заменив его на пакет PyCryptodome
. Он отлично работает в обоих окружениях.