在python3.8里import sqlalchemy出错

最近在linux centos里安装了python3.8,也安装了sqlalchemy, 如下所示:

[root@localhost Python-3.8.0]# python3
Python 3.8.0 (default, Nov 26 2019, 22:35:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import sqlalchemy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sqlalchemy'
>>> quit()
[root@localhost Python-3.8.0]# python3 --version
Python 3.8.0
[root@localhost Python-3.8.0]#
[root@localhost Python-3.8.0]#
[root@localhost Python-3.8.0]# pip3 install SQLAlchemy
Requirement already satisfied: SQLAlchemy in /usr/local/python3/lib/python3.8/site-packages (1.3.11)
[root@localhost Python-3.8.0]# cd /usr/local/python3/lib/python3.8/
 

这个问题搞了好久,我也去安装位置看看,都正常,如下:

[root@localhost python3.8]# cd site-packages/
[root@localhost site-packages]# ll
total 20
-rw-r--r--.  1 root root  126 Nov 27 22:05 easy_install.py
drwxr-xr-x.  2 root root  117 Nov 30 07:22 mysqlclient-1.4.6-py3.8.egg-info
drwxr-xr-x.  4 root root  240 Nov 30 07:22 MySQLdb
drwxr-xr-x.  5 root root   95 Nov 29 20:59 pip
drwxr-xr-x.  2 root root  130 Nov 29 20:59 pip-19.3.1.dist-info
drwxr-xr-x.  5 root root   94 Nov 27 22:05 pkg_resources
drwxr-xr-x.  2 root root  123 Nov 30 20:40 __pycache__
-rw-r--r--.  1 root root  119 Nov 30 20:38 README.txt
drwxr-xr-x.  6 root root 4096 Nov 27 22:05 setuptools
drwxr-xr-x.  2 root root  170 Nov 27 22:05 setuptools-41.2.0.dist-info
drwxr-xr-x. 14 root root 4096 Nov 30 07:26 sqlalchemy
drwxr-xr-x.  2 root root  137 Nov 30 07:26 SQLAlchemy-1.3.11-py3.8.egg-info
drwxr-xr-x.  5 root root 4096 Nov 29 21:17 tornado
drwxr-xr-x.  2 root root  117 Nov 29 21:17 tornado-6.0.3-py3.8.egg-info
[root@localhost site-packages]# cd sqlalchemy/
 

后来怀疑是不是因为我的系统里既有python2.7也有python3.8的原因,并且对于python的link目前还是python2.

就试着改为python3, 如下:

[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root    7 Nov 27 21:27 python -> python2
lrwxrwxrwx. 1 root root    9 Nov 27 21:27 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Aug  7 08:52 python2.7
lrwxrwxrwx. 1 root root   30 Nov 27 22:07 python3 -> /usr/local/python3/bin/python3
[root@localhost bin]# mv python python.bak
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root    9 Nov 27 21:27 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Aug  7 08:52 python2.7
lrwxrwxrwx. 1 root root   30 Nov 27 22:07 python3 -> /usr/local/python3/bin/python3
lrwxrwxrwx. 1 root root    7 Nov 27 21:27 python.bak -> python2
[root@localhost bin]# ln -s /usr/local/python3/bin/python3 /usr/bin/python
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root   30 Nov 30 21:44 python -> /usr/local/python3/bin/python3
lrwxrwxrwx. 1 root root    9 Nov 27 21:27 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Aug  7 08:52 python2.7
lrwxrwxrwx. 1 root root   30 Nov 27 22:07 python3 -> /usr/local/python3/bin/python3
lrwxrwxrwx. 1 root root    7 Nov 27 21:27 python.bak -> python2
 

但是yum是依赖python2的,所以需要改一下文件,

如下:

[root@localhost bin]# python -V
Python 3.8.0
[root@localhost bin]# vi /usr/bin/yum
[root@localhost bin]# vi /usr/libexec/urlgrabber-ext-down
[root@localhost bin]# vi /usr/bin/yum
[root@localhost bin]# vi /usr/libexec/urlgrabber-ext-down
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# python -V
Python 3.8.0
[root@localhost bin]# python2 -V
Python 2.7.5
[root@localhost bin]# pip3 install sqlalchemy
Requirement already satisfied: sqlalchemy in /usr/local/python3/lib/python3.8/site-packages (1.3.1                                                                             1)
[root@localhost bin]# python
Python 3.8.0 (default, Nov 30 2019, 20:37:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlalchemy
>>> import sys
>>> print(sys.path)
['', '/usr/local/python3/lib/python38.zip', '/usr/local/python3/lib/python3.8', '/usr/local/python                                                                             3/lib/python3.8/lib-dynload', '/usr/local/python3/lib/python3.8/site-packages']
如上面红色字体所示,import成功。

参考博客:https://www.cnblogs.com/JahanGu/p/7452527.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值