我在我的 Django 项目中导入和使用 Python 的 dnspython 或 easyzone 模块时遇到问题。我也在 DJango 之外尝试过这个脚本,但也遇到了同样的问题,所以我很确定这个问题与框架无关。
我有一个简单的脚本,可以打开并解析里面的 dns 记录的区域文件。我在导入 easyzone 或 dns 模块时没有问题,但是当我尝试访问其中的任何方法时,我收到此错误:
Traceback (most recent call last):
File "fabfile.py", line 6, in <module>
z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
AttributeError: 'module' object has no attribute 'zone_from_file'
我已经安装了 dnspython 并通过 easy_install 轻松安装,没有任何问题。我可以在脚本顶部导入模块而不会出错,它甚至会在 IDE 帮助程序中向我显示库的路径。但是,当尝试访问 easyzone 或 dns 中的任何方法时,我得到一个错误,IDE 上的代码完成也不会列出任何方法,这让我相信这是一个路径问题或我是如何导入它们的。
这是我失败的代码:
import os
import csv
import easyzone
import dns
z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
查看代码中的模块内部,我可以清楚地看到这些方法存在,我做错了什么无法访问它们?