Python модуль не устанавливается на Heroku - PullRequest
0 голосов
/ 26 мая 2020

У меня есть приложение Django, которое при попытке развернуть на Heroku жалуется на то, что не находит модуль Crypto:

...
remote: Verifying deploy... done.
remote: Running release command...
remote:
remote: Traceback (most recent call last):
remote:   File "/app/.heroku/python/lib/python3.8/site-packages/rest_framework/settings.py", line 177, in import_from_string
remote:     return import_string(val)
remote:   File "/app/.heroku/python/lib/python3.8/site-packages/django/utils/module_loading.py", line 17, in import_string
remote:     module = import_module(module_path)
remote:   File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
remote:     return _bootstrap._gcd_import(name[level:], package, level)
remote:   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
remote:   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
remote:   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
remote:   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
remote:   File "<frozen importlib._bootstrap_external>", line 783, in exec_module
remote:   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
remote:   File "/app/oda_project/users/authentication.py", line 14, in <module>
remote:     from Crypto.Cipher import AES
remote: ModuleNotFoundError: No module named 'Crypto'

Отлично работает локально на моей машине, и я добавил модуль в requirements.txt. Даже пробовал установить с помощью Heroku CLI.

Кто-нибудь успешно использовал криптографию python на Heroku, и как? Я использую модуль для шифрования / дешифрования строк.

Спасибо.

РЕДАКТИРОВАТЬ: Это мой файл requirements.txt:

requests
Crypto
boto
app==0.0.1
asgiref==3.2.3
dj-database-url==0.5.0
Django==3.0.2
djangorestframework==3.11.0
psycopg2-binary==2.8.4
python-dotenv==0.10.5
pytz==2019.3
sqlparse==0.3.0

I есть в root моего проекта. Выполняя pip list в консоли Heroku, я получаю: enter image description here

1 Ответ

0 голосов
/ 26 мая 2020

Скорее всего, вы используете библиотеку на своем локальном компьютере, которая не является частью стандартной библиотеки Python.

Вам необходимо добавить свои требования в файл requirements.txt или свой Pipfile. См. Соответствующую документацию Heroku о требованиях в Python.

В стороне, если вы используете Pycrypto, вы в основном рассматриваете некоторые альтернативы, поскольку он больше не поддерживается .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...