标签:bin python pymysql python3.6 报错 usr pip root
前提条件
之前为了测试一键安装脚本,安装了python3.7,却忘记了服务器上已经有了pythton3.6,然后正常添加了软连接到/usr/bin目录,其实测试并没有替换成功,因为我没有先删除软连接。
然后后面执行python send.py文件时,一直报错,百思不得其解:
Traceback (most recent call last):
File "src/send.py", line 6, in <module>
from src.fetchData import get_day_list, get_today_hours
File "/project/python/email/src/fetchData.py", line 1, in <module>
import pymysql
ModuleNotFoundError: No module named 'pymysql'
出现这个问题,肯定是pip
默认安装错了为止,但是每次pip list
检查的时候,都会发现PyMYSQL
存在列表中
然后执行whereis命令发现竟然有两个版本的python
,随后想到是不是pip安装包指向为止错了
[root@AlexWong email]# whereis python
python: /usr/bin/python3.6m /usr/bin/python3.6 /usr/bin/python /usr/lib/python3.6 /usr/lib64/python3.6 /usr/local/lib/python3.6 /usr/include/python3.6m /opt/python/bin/python3.7m /opt/python/bin/python3.7m-config /opt/python/bin/python3.7-config /opt/python/bin/python3.7 /usr/share/man/man1/python.1.gz
[root@AlexWong email]# whereis pip
pip: /usr/bin/pip /usr/lib/python3.6/bin/pip3.6
# 查看新安装版本下的pip3安装的包,发现不存在
[root@AlexWong email]# /opt/python/bin/pip3 list
Package Version
---------- -------
pip 10.0.1
setuptools 39.0.1
# 查看软连接
[root@AlexWong email]# ll /usr/bin/
lrwxrwxrwx 1 root root 10 Feb 5 19:00 pip -> //bin/pip3
lrwxrwxrwx. 1 root root 23 Dec 12 19:54 pip-3 -> /etc/alternatives/pip-3
lrwxrwxrwx. 1 root root 22 Dec 12 19:54 pip3 -> /etc/alternatives/pip3
lrwxrwxrwx 1 root root 8 Aug 25 03:31 pip-3.6 -> ./pip3.6
-rwxr-xr-x 1 root root 209 Aug 25 03:31 pip3.6
lrwxrwxrwx 1 root root 23 Feb 5 18:51 python -> /opt/python/bin/python3
lrwxrwxrwx. 1 root root 25 Dec 12 19:54 python3 -> /etc/alternatives/python3
lrwxrwxrwx 1 root root 31 Nov 4 12:04 python3.6 -> /usr/libexec/platform-python3.6
lrwxrwxrwx 1 root root 32 Nov 4 12:04 python3.6m -> /usr/libexec/platform-python3.6m
lrwxrwxrwx. 1 root root 26 Dec 12 19:54 pyvenv-3 -> /etc/alternatives/pyvenv-3
-rwxr-xr-x 1 root root 446 Aug 25 01:59 pyvenv-3.6
pip -> //bin/pip3
是错误的,应该是/opt/python/bin/pip3
说明脚本中自动执行软链接没有替换成功;
为了保险起见,我需要清理下服务器的环境,只保留一个python和pip版本:
删除3.6的所有软连接
[root@AlexWong email]# rm -rf /usr/bin/python3.6m /usr/bin/python3.6 /usr/lib/python3.6
[root@AlexWong email]# rm -rf /usr/lib64/python3.6 /usr/local/lib/python3.6 /usr/include/python3.6m
新增软链接
记得一定要先删除老的软连接
# python
[root@AlexWong email]# rm -rf /usr/bin/python
[root@AlexWong email]# ln -s /opt/python/bin/python3 /usr/bin/python
# pip
[root@AlexWong email]# rm -rf /usr/bin/pip
[root@AlexWong email]# ln -s /opt/python/bin/pip3 /usr/bin/pip
测试
[root@AlexWong email]# whereis python
python: /usr/bin/python /opt/python/bin/python3.7m /opt/python/bin/python3.7m-config /opt/python/bin/python3.7-config /opt/python/bin/python3.7 /usr/share/man/man1/python.1.gz
[root@AlexWong email]# whereis pip
pip: /usr/bin/pip /opt/python/bin/pip3.7 /opt/python/bin/pip
再次执行python也没有报错了
标签:bin,python,pymysql,python3.6,报错,usr,pip,root 来源: https://blog.csdn.net/qq_26003101/article/details/113765821
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。