背景:
今天使用包的方式安装模块 dnspython
[root@makel ~] wget http://www.dnspython.org/kits/1.9.4/dnspython-1.9.4.tar.gz
[root@makel ~] tar -xvf dnspython-1.9.4.tar.gz
[root@makel ~] cd dnspython-1.9.4/
[root@makel dnspython-1.9.4] python3 setup.py install
解决过程
1.进入python,import报错(发现问题)
[root@makel ~] python3
Python 3.8.5 (default, Nov 7 2021, 21:47:38)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] 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>
File "/usr/local/python3/lib/python3.8/site-packages/dns/resolver.py", line 26, in <module>
import dns.message
File "/usr/local/python3/lib/python3.8/site-packages/dns/message.py", line 175
return '<DNS message, ID ' + `self.id` + '>'
^
SyntaxError: invalid syntax
2.升级试试(–upgrade),发现还是不行,装不上
[root@makel ~] pip3 install dnspython --upgrade
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: dnspython in /usr/local/python3/lib/python3.8/site-packages (1.9.4)
Collecting dnspython
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f5/2d/ae9e172b4e5e72fa4b3cfc2517f38b602cc9ba31355f9669c502b4e9c458/dnspython-2.1.0-py3-none-any.whl (241 kB)
|████████████████████████████████| 241 kB 898 kB/s
Installing collected packages: dnspython
Attempting uninstall: dnspython
Found existing installation: dnspython 1.9.4
ERROR: Cannot uninstall 'dnspython'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
3.尝试卸载,出现新的错误
[root@makel ~] pip3 uninstall dnspython
Found existing installation: dnspython 1.9.4
ERROR: Cannot uninstall 'dnspython'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
4.命令卸不了,那就手动删除文件
[root@makel ~] cd /usr/local/python3 #到安装python的目录
[root@makel python3] find ./-name "*package*" #模糊搜索package
./lib/python3.8/site-packages
./lib/python3.8/site-packages/setuptools/package_index.py
./lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc
./lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.opt-1.pyc
......
[root@makel python3] cd lib/python3.8/site-packages/ #从上面的结果中找到site-packages,并到该目录下
[root@makel site-packages] ll
total 96
drwxr-xr-x. 4 root root 4096 Nov 16 17:18 dns
-rw-r--r--. 1 root root 1277 Nov 9 22:31 dnspython-1.9.4-py3.8.egg-info
....
[root@makel site-packages] rm -rf dnspython-1.9.4-py3.8.egg-info #删除包含该模块名的所有文件
5.重新安装,安装完成后成功import
[root@makel site-packages] pip3 install dnspython #重新安装
[root@makel site-packages] python3
Python 3.8.5 (default, Nov 7 2021, 21:47:38)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dns.resolver
>>> exit
本文记录了在安装dnspython模块过程中遇到的错误及其解决步骤,包括使用pip升级失败、手动卸载及最终成功安装的过程。

670

被折叠的 条评论
为什么被折叠?



