web-dev-qa-db-ja.com

Python DNSモジュールのインポートエラー

python dnsモジュールを使用しました。新しいLinuxインストールで使用しようとしましたが、モジュールがロードされません。クリーンアップしてインストールしようとしましたが、インストールが機能していないようです。

 
 $ python --version 
 Python 2.7.3 
 $ Sudo pip install dnspython 
 dnspython 
のダウンロード/アンパックdnspython-1.11.1.Zipのダウンロード(220Kb):220Kbダウンロード
パッケージdnspython 
 
のsetup.py Egg_infoの実行収集したパッケージのインストール:dnspython 
 dnspython 
 
のsetup.pyインストールの実行dnspython 
のクリーンアップ... 
 $ python 
 Python 2.7.3(デフォルト、2013年9月26日、20:03:06)
 [GCC 4.6.3] on linux2 
「help」、「copyright」、「詳細については、「クレジット」または「ライセンス」。
 >>> import dns 
トレースバック(最新のコールラスト):
ファイル ""、1行目、
 ImportError:dns 
 
という名前のモジュールはありません

python versionおよびpip versionコマンドの出力を更新

 
 $ 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)
 

ご協力ありがとうございます。

注:-新しいマシンにファイアウォールがインストールされています。インポートに影響するかどうかはわかりません。しかし、私はそれを無効にしようとしましたが、それでも動作しないようです。

22
ayushmad

私はdnspythonで同じ問題に遭遇しました。

私の解決策は、公式のGitHubプロジェクトからソースをビルドすることでした。

だから私のステップは:

git clone https://github.com/rthalley/dnspython
cd dnspython/
python setup.py install

これを実行した後、dnsモジュールをインポートできました。

[〜#〜] edit [〜#〜]

このモジュールではpipインストールが機能しないようです。説明に従ってソースからインストールします。

28
DanGar

これを解決するには、dnspythonモジュールをPIPでアンインストールしてから再インストールします。

$ pip uninstall dnspython

Pycache内のファイルの長いリストの後に、yを入力してアンインストールを続行します。タイプ完了後:

$ pip install dnspython

次に、スクリプトを実行し、エラーを解決しました。

5
Fergus

次のコマンドを使用して、pipでパッケージをインストールすることもできます。

pip install git+https://github.com/rthalley/dnspython

4
CashWasabi

Ubuntuボックスにpip install dnspythonを使用してdnspython 1.11.1をインストールしました。 dnsモジュールを問題なくインポートできました

UbuntuベースのサーバーでPython 2.7.4を使用しています。

3

Debian 7 Wheezyでは、次のことをしなければなりませんでした。

pip install --upgrade dnspython

python-dnsパッケージがインストールされていても。

2

使用しているpipのバージョンが、使用しているpythonのバージョンにインストールされていない可能性があります。これが当てはまるボックスがあります...

試してください:

which python

python --version

pip -V

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をインストールすることもできます: http://www.pip-installer.org/en/latest/installing.html

おそらくこれを行うためのより良い方法があります、私はまだ自分の道を学んでいますが、それは私がそれを解決した方法です-それが役立つことを願っています!

1
scottsanchez

「import dns.resolver」の使用中にエラーが発生しました。 dnspython、py3dnsを試しましたが、失敗しました。 DNSはインストールされません。何度もヒットして試した後、pubdnsモジュールをインストールして問題を解決しました。

0
L3arn3D

私の場合、「dns.py」という名前のファイルにコードを記述しましたが、これはパッケージの競合です。スクリプトのファイル名を変更する必要があります。

0
haofly

ここで考えられる理由の1つは、スクリプトに誤りがあるShebang(したがって、virtualenvのpythonを使用していない)の可能性があります。私はこの変更を行っただけで動作します:

-#!/bin/python
+#!/usr/bin/env python

または、Shebangを無視して、venvでpythonを指定してスクリプトを実行します。

$ python your_script.py
0
jhutar

DNSpython 2.0.0をGitHubソースからインストールしましたが、「pip list」を実行するとdnspython 1.2.0の古いバージョンが表示されました

「pip uninstall dnspython」を実行して古いバージョンを削除し、2.0.0だけを残してから「import dns」をスムーズに実行した後にのみ機能しました

0
John McCurdy

この問題は、Symantec End Point Protection(SEP)によって生成される可能性があります。また、ほとんどのEPP製品は、スクリプトの実行に影響を与える可能性があると思います。

SEPが無効になっている場合、スクリプトは即座に実行されます。

したがって、ブロックしないようにSEPポリシーを更新する必要がある場合がありますpythonものにアクセスするスクリプト。

0
BJ Beej