別のPythonバージョンがインストールされ、排他的に使用されるため、ファイルをpython3.7
編集しました.bashrc
。私たちはサーバーCentos7
と協力しています。Linux
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
alias python=python3.7
alias pip=pip3.7
[xyz@innolx20122 ~]$ python
python python2.7 python3.6 python3.7 python3.7m-config
python2 python3 python3.6m python3.7m
[xyz@innolx20122 ~]$ which sqlite3
/usr/bin/sqlite3
仕組みpython2.7
とpython3.6
バージョン
[xyz@innolx20122 ~]$ python2.7
Python 2.7.5 (default, Apr 2 2020, 13:16:51)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
[xyz@innolx20122 ~]$ python3.6
Python 3.6.8 (default, Apr 2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
python3.7
バージョンでは動作しません
[xyz@innolx20122 ~]$ python3.7
Python 3.7.0 (default, Sep 3 2020, 09:25:25)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.7/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
書き直す-
以下のリンクの指示に従ってPythonをインストールしました。 Python3.7インストールリンク
したがって、私のpython3.7
バージョンはルートレベルにインストールされます。
[root@innolx20122 ~]# ls
anaconda-ks.cfg Python-3.7.0 Python-3.7.0.tgz
[root@innolx20122 ~]# cd Python-3.7.0
[root@innolx20122 Python-3.7.0]# ls
aclocal.m4 config.status Doc Lib Mac Misc PC pyconfig.h python-config setup.py
build config.sub Grammar libpython3.7m.a Makefile Modules PCbuild pyconfig.h.in python-config.py Tools
config.guess configure Include LICENSE Makefile.pre Objects Programs python python-gdb.py
config.log configure.ac install-sh m4 Makefile.pre.in Parser pybuilddir.txt Python README.rst
いくつかの回避策を提案するスタックオーバーフローリンクを見ました。 Sqlite3の問題を修正
同じルートディレクトリ自体で次のコマンドを実行できることを提案してください。
yum install sqlite-devel
./configure
make && make altinstall
答え1
ユーザーとしてログインしましたroot
。
[root@innolx20122 ~]# ls
anaconda-ks.cfg Python-3.7.0 Python-3.7.0.tgz
Python-3.7.0
次に、そのディレクトリに移動します。
[root@innolx20122 Python-3.7.0]# ls
aclocal.m4 config.status Doc Lib Mac Misc PC pyconfig.h python-config setup.py
build config.sub Grammar libpython3.7m.a Makefile Modules PCbuild pyconfig.h.in python-config.py Tools
config.guess configure Include LICENSE Makefile.pre Objects Programs python python-gdb.py
config.log configure.ac install-sh m4 Makefile.pre.in Parser pybuilddir.txt Python README.rst
次に、次のコマンドを実行して問題を解決します。
yum install sqlite-devel
./configure
make && make altinstall
[xyz@innolx20122 ~]$ python3.7
Python 3.7.0 (default, Sep 26 2020, 23:18:27)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>>