Python DNS模块导入错误
我一直在使用python dns模块。我试图在新的Linux安装上使用它,但该模块没有加载。 我试图清理和安装,但安装似乎不工作 $ python --version Python 2.7.3 $ sudo pip install dnspython Downloading/unpacking dnspython Downloading dnspython-1.11.1.zip (220Kb): 220Kb downloaded Running setup.py egg_info for package dnspython Installing collected packages: dnspython Running setup.py install for dnspython Successfully installed dnspython Cleaning up... $ python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import dns Traceback (most recent call last): File "", line 1, in ImportError: No module named dns $python—版本 Python 2.7.3 $sudo pip安装dnspython 下载/解包dnspython 下载dnspython-1.11.1.zip(220Kb):下载220Kb 正在为包dnspython运行setup.py egg\u info 安装收集的软件包:dnspython 正在为dnspython运行setup.py安装 已成功安装dnspython 清理。。。 $python Python 2.7.3(默认值,2013年9月26日,20:03:06) [GCC 4.6.3]关于linux2 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入dns 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ImportError:没有名为dns的模块 更新了python版本和pip版本命令的输出 $ which python /usr/bin/python $ python --version Python 2.7.3 $ pip --version pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7) $whichpython /usr/bin/python $python—版本 Python 2.7.3 $pip--版本 来自/usr/lib/python2.7/dist-packages(python 2.7)的PIP1.0 非常感谢你的帮助Python DNS模块导入错误,python,python-2.7,module,resolver,Python,Python 2.7,Module,Resolver,我一直在使用python dns模块。我试图在新的Linux安装上使用它,但该模块没有加载。 我试图清理和安装,但安装似乎不工作 $ python --version Python 2.7.3 $ sudo pip install dnspython Downloading/unpacking dnspython Downloading dnspython-1.11.1.zip (220Kb): 220Kb downloaded Running s
注意:-我在新机器上安装了防火墙。我不确定这是否会影响进口。但是我尝试过禁用它,但它似乎仍然不起作用。我在dnspython上遇到了同样的问题 我的解决方案是从他们的官方GitHub项目构建源代码 所以我的步骤是:
git clone https://github.com/rthalley/dnspython
cd dnspython/
python setup.py install
完成此操作后,我能够导入dns
模块
编辑
似乎pip安装不适用于此模块。按说明从源代码安装。很可能您正在使用的pip版本没有安装到您正在使用的python版本。我有一个盒子,就是这个盒子 尝试: 如果看起来pip与您的python不匹配,那么您可能有类似于我在我的盒子上找到的python和pip的多个版本
[root@sdpipeline student]# locate bin/pip
/home/student/class/bin/pip
/home/student/class/bin/pip-2.7
/usr/bin/pip
/usr/bin/pip-python
只要我使用/home/student/class/bin/pip(2.7,与我在该框中的python版本相匹配),那么我的导入就可以正常工作
您还可以尝试从以下源安装pip:
也许有更好的方法可以做到这一点,我也在学习自己的方法,但这就是我解决问题的方法——希望能有所帮助 我使用
pip install dnspython
在我的Ubuntu盒上安装了dnspython 1.11.1。我能够导入dns模块,没有任何问题
我在基于Ubuntu的服务器上使用Python 2.7.4。您也可以使用以下命令安装带有pip的软件包:
pip安装git+https://github.com/rthalley/dnspython
关于Debian 7喘息,我必须做:
pip install --upgrade dnspython
即使安装了python dns包。此问题也可能由赛门铁克端点保护(SEP)产生。 我怀疑大多数EPP产品可能会影响脚本的运行 如果禁用SEP,脚本将立即运行
因此,您可能需要更新SEP策略,以不阻止python脚本访问内容。我通过卸载然后用PIP重新安装dnspython模块解决了这个问题
$ pip uninstall dnspython
在pycache中的长文件列表之后,键入y继续卸载。完成类型后:
$ pip install dnspython
然后我运行了我的脚本,错误得到了解决。我从github源代码安装了DNSpython 2.0.0,但运行“pip列表”显示了DNSpython 1.2.0的旧版本
只有在我运行了“pip uninstall dnspython”之后,它才起作用,删除了旧版本,只剩下2.0.0,然后“import dns”平稳运行这里的一个可能原因可能是您的脚本错误了shebang(因此它没有使用来自VirtualNV的python)。我刚做了这个改变,效果很好:
-#!/bin/python
+#!/usr/bin/env python
或者忽略shebang,在venv中使用python运行脚本:
$ python your_script.py
我在使用“导入dns.resolver”时出错。我试过dnspython和py3dns,但都失败了。
dns不会安装。经过多次尝试,我安装了pubdns模块,它解决了我的问题。在我的情况下,我已经在名为“dns.py”的文件中编写了代码,这与包冲突,我必须重命名脚本文件名。我遇到了同样的问题,并解决了以下问题: 由于您已成功下载并安装了dnspython,因此
pip安装dnspython
现在,dnspython将成功安装。确定使用
pip install dnspython
(如果您使用conda first type
activate
,然后进入base(在cmd中),然后键入上面的代码)
它将安装在anaconda站点包中,从cmd复制该站点包文件夹的位置,然后打开它。现在复制所有dns文件夹并将它们粘贴到python站点包文件夹中。它会解决这个问题
事实上,我们的代码无法在python\site-package-bcz中找到指定的包,因为它在anaconda\site-package中。所以你必须复制它(而不是剪切) 我在mac上导入时遇到过类似的问题。我安装了python 3.7.3 以下步骤帮助我解决了这个问题:
pip
还有另一种方法。您可以通过使用本机OS软件包管理器安装软件包来解决此问题
例如,对于基于Debian的系统,这将是命令:
apt install python3 dnspython
很可能是为另一个版本安装了dnspython
$ python your_script.py