安裝好的python3.5,import sqlite3 遇到報錯:‘ImportError: No module named '_sqlite3'’
嘗試了網上諸多解決方法,均沒有成功,這些失敗的方法包括
(1)無效方法1
step1,yum install sqlite-devel
step2,進入python35安裝文件夾,例如我的路徑是/usr/local/src/Python3.5.3
cd /usr/local/src/Python3.5.3
step3,重新編譯安裝
./configure
make && make install
step4,上述行不通,找到python35安裝文件,進入,vi setup.py 修改sqlite_inc_paths,.....(百度。。。)
(2)無效方法2
yum install sqlite3-devel
找不到該包
(3) 無效方法3
find
/
cp
結果依然不行
--------------------------------------------------------------------------------
正確合理的做法如下:
(1)下載sqlite-autoconf-3230100.tar.gz,下載連接http://www.sqlite.org/2018/sqlite-autoconf-3230100.tar.gz
(2)tar xzf sqlite-autoconf-3230100.tar.gz
(3)我的路徑是/root/sqlite-autoconf-3230100
cd /root/sqlite-autoconf-3230100
編譯安裝
./configure
make && make install
(4)在liunx命令行輸入sqlite3,得到如下結果:
[root@YeMa sqlite-autoconf-3230100]# sqlite3
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
說明sqlite3編譯安裝成功,輸入.quit退出sqlite3
(5)重新編譯python35,才能識別sqlite3
找到Python35安裝文件,如果忘記路安裝路徑,不要着急
a,回到根目錄, cd ~/
b,find -name Python-3.5.3
我的輸出結果是:
./usr/local/src/Python-3.5.3
./usr/local/src/Python-3.5.3/build/temp.linux-x86_64-3.5/usr/local/src/Python-3.5.3
/usr/local/src/Python-3.5.3
找到安裝路徑后,進入
/usr/local/src/Python-3.5.3
重新編譯,安裝,這里特別注意,紅色部分
./configure --prefix=/usr/local/python3.5
make && make install
如何確定你的紅色部分應該填什么呢?
python35安裝文件位置/usr/local/src
cd /usr/local
例如我的結果得到:
bin etc games include lib lib64 libexec python3.5 sbin share src
編譯安裝成功后,進入python環境,輸入import sqlite3,正常無報錯即可
PS: 我中間倒騰的時候,修改了python3.5安裝文件下setup.py,增加了紅色圈中兩行,沒有驗證是否起作用
如果以上方案行不通,試着修改setup.py