问题
I have been using python dns module.I was trying to use it on a new Linux installation but the module is not getting loaded. I have tried to clean up and install but the installation does not seem to be working.
$ 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
Updated Output of python version and pip version command
$ 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)
Thanks a lot for your help.
Note:- I have firewall installed on the new machine. I am not sure if it should effect the import. but i have tried disabling it and still it does not seem to work.
回答1:
I ran into the same issue with dnspython.
My solution was to build the source from their official GitHub project.
So my steps were:
git clone https://github.com/rthalley/dnspython
cd dnspython/
python setup.py install
After doing this, I was able to import the dns
module.
EDIT
It seems the pip install doesn't work for this module. Install from source as described.
回答2:
You could also install the package with pip by using this command:
pip install git+https://github.com/rthalley/dnspython
回答3:
I solved this by uninstalling and then re-installing the dnspython module with PIP.
$ pip uninstall dnspython
After the long list of files within pycache, type y to continue with the uninstall. After complete type:
$ pip install dnspython
I then ran my script and the errors were resolved.
回答4:
I installed dnspython 1.11.1 on my Ubuntu box using pip install dnspython
. I was able to import the dns module without any problems
I am using Python 2.7.4 on an Ubuntu based server.
回答5:
On Debian 7 Wheezy, I had to do:
pip install --upgrade dnspython
even if python-dns package was installed.
回答6:
Very possible the version of pip you're using isn't installing to the version of python you're using. I have a box where this is the case...
try:
which python
python --version
pip -V
If it looks like pip doesn't match your python, then you probably have something like the multiple versions of python and pip I found on my box...
[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
As long as I use /home/student/class/bin/pip (2.7 that matches my python version on that box), then my imports work fine.
You can also try installing pip from source: http://www.pip-installer.org/en/latest/installing.html
There's probably a better way to do this, I'm still learning my way around too, but that's how I solved it -- hope it helps!
回答7:
This issue can be generated by Symantec End Point Protection (SEP). And I suspect most EPP products could potentially impact your running of scripts.
If SEP is disabled, the script will run instantly.
Therefore you may need to update the SEP policy to not block python scripts accessing stuff.
回答8:
I installed DNSpython 2.0.0 from the github source, but running 'pip list' showed the old version of dnspython 1.2.0
It only worked after I ran 'pip uninstall dnspython' which removed the old version leaving just 2.0.0 and then 'import dns' ran smoothly
回答9:
One possible reason here might be your script have wrong shebang (so it is not using python from your virtualenv). I just did this change and it works:
-#!/bin/python
+#!/usr/bin/env python
Or ignore shebang and just run the script with python in your venv:
$ python your_script.py
回答10:
I was getting an error while using "import dns.resolver". I tried dnspython, py3dns but they failed. dns won't install. after much hit and try I installed pubdns module and it solved my problem.
回答11:
In my case, I hava writen the code in the file named "dns.py", it's conflict for the package, I have to rename the script filename.
来源:https://stackoverflow.com/questions/21641696/python-dns-module-import-error