背景:
今天使用包的方式安装模块 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 "", line 1, in File "/usr/local/python3/lib/python3.8/site-packages/dns/resolver.py", line 26, in import dns.message File "/usr/local/python3/lib/python3.8/site-packages/dns/message.py", line 175 return ' ' ^ 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



