latest-admin fails with `No module named 'requests'`
mvforell opened this issue · 2 comments
When building and starting private-authoritative.yml
from the README, the admin
container fails with the following error message:
admin | Usage: flask db upgrade [OPTIONS] [REVISION]
admin |
admin | Error: While importing "powerdnsadmin", an ImportError was raised:
admin |
admin | Traceback (most recent call last):
admin | File "/usr/lib/python3.8/site-packages/flask/cli.py", line 240, in locate_app
admin | __import__(module_name)
admin | File "/var/www/pdns-admin/powerdnsadmin/__init__.py", line 8, in <module>
admin | from .lib import utils
admin | File "/var/www/pdns-admin/powerdnsadmin/lib/utils.py", line 4, in <module>
admin | import requests
admin | ModuleNotFoundError: No module named 'requests'
admin |
admin | [2020-10-26 15:38:14 +0000] [1] [INFO] Starting gunicorn 20.0.4
admin | [2020-10-26 15:38:14 +0000] [1] [INFO] Listening at: http://0.0.0.0:3031 (1)
admin | [2020-10-26 15:38:14 +0000] [1] [INFO] Using worker: sync
admin | [2020-10-26 15:38:14 +0000] [7] [INFO] Booting worker with pid: 7
admin | [2020-10-26 15:38:14 +0000] [8] [INFO] Booting worker with pid: 8
admin | [2020-10-26 15:38:14 +0000] [7] [ERROR] Exception in worker process
admin | Traceback (most recent call last):
admin | File "/usr/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
admin | worker.init_process()
admin | File "/usr/lib/python3.8/site-packages/gunicorn/workers/base.py", line 119, in init_process
admin | self.load_wsgi()
admin | File "/usr/lib/python3.8/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
admin | self.wsgi = self.app.wsgi()
admin | File "/usr/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
admin | self.callable = self.load()
admin | File "/usr/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
admin | return self.load_wsgiapp()
admin | File "/usr/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
admin | return util.import_app(self.app_uri)
admin | File "/usr/lib/python3.8/site-packages/gunicorn/util.py", line 358, in import_app
admin | mod = importlib.import_module(module)
admin | File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
admin | return _bootstrap._gcd_import(name[level:], package, level)
admin | File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
admin | File "<frozen importlib._bootstrap>", line 991, in _find_and_load
admin | File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
admin | File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
admin | File "<frozen importlib._bootstrap_external>", line 783, in exec_module
admin | File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
admin | File "/var/www/pdns-admin/powerdnsadmin/__init__.py", line 8, in <module>
admin | from .lib import utils
admin | File "/var/www/pdns-admin/powerdnsadmin/lib/utils.py", line 4, in <module>
admin | import requests
admin | ModuleNotFoundError: No module named 'requests'
admin | [2020-10-26 15:38:14 +0000] [7] [INFO] Worker exiting (pid: 7)
[...]
I'm not sure why this happens as the Dockerfile includes a command to install all requirements (https://github.com/chrisss404/powerdns/blob/master/admin/Dockerfile#L29) which include requests
(https://github.com/ngoduykhanh/PowerDNS-Admin/blob/master/requirements.txt#L10).
Interestingly, everything works fine when using chrisss404/powerdns:202005-admin
instead of chrisss404/powerdns:latest-admin
.
Maybe this line, which is present in the chrisss404/powerdns:202005-admin
Dockerfile, but not in the chrisss404/powerdns:latest-admin
Dockerfile, is the culprit? https://github.com/chrisss404/powerdns/blob/admin-202005/admin/Dockerfile#L20
Thanks for reporting. Should be fixed now.