【发布时间】:2020-09-13 13:20:25
【问题描述】:
我有一个 Django 应用程序,在尝试部署到 Heroku 时,抱怨找不到“加密”模块:
...
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 进行安装。
有没有人在 Heroku 上成功使用过 python 密码学,以及如何使用?我正在使用该模块来加密/解密字符串。
谢谢。
编辑: 这是我的 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
【问题讨论】:
-
你能显示你的目录结构和 requirements.txt 的内容吗?
-
@Ken4scholars 我添加了一些额外的信息。在我添加 Crypto 包之前,heroku 部署运行良好
-
尝试在需求文件中添加加密版本。有帮助吗?
标签: python django heroku django-rest-framework cryptography