在 flask + uwsgi 下面用
import dns.resolver
會出現 error ....
ModuleNotFoundError: No module named 'dns.resolver'; 'dns' is not a package
當然有做 pip install dnspython 看檔案是存在的
(env) [flask@ecs-b222 app]$ ll ./env/lib/python3.6/site-packages/dns/resolver.py
-rw-rw-r-- 1 flask flask 50210 Sep 30 23:29 ./env/lib/python3.6/site-packages/dns/resolver.py
難道是要設定 ./env/etc/resolve.conf ... 試過沒有效 ....
還缺啥東西 ?
(env) [flask@ecs-b222 app]$ pip list |grep dnspython
dnspython 2.0.0
(env) [flask@ecs-b222 app]$ python
Python 3.6.8 (default, Apr 25 2019, 21:02:35)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dns.resolver
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'dns.resolver'; 'dns' is not a package
>>>
變通一下,使用DNS Over HTTPS
有JSON格式的API,也可以避免一些安全問題
知道呀 .... cloudflare API 有用過
https://developers.cloudflare.com/1.1.1.1/dns-over-https/json-format/
但是程式已寫好只是 ... 不想改了... 哈 ...
只是看看有沒有辦法做...
花了五分鐘用 cloudflare API 寫完了
再花了五分鐘用 OS 的 dig 寫完了(呼叫外部 OS 的 dig )
再花了五分鐘用 OS 的 import dns.resolver(呼叫外部 OS 的 dig)
哈...
只是不爽看看不要呼叫外部直接用 import dns.resolver 看看行不行