问题背景:项目使用了sqlit数据库,因此单独运行项目时,需要额外导入第三方包sqlit3。但是执行 pip install sqlit3后,运行项目仍然报错:No module named '_sqlite3'
问题描述:
dos2unix: converting file /root/WORKDIR/nfvo/src/python/nfvpub/config/vmanager.ini to Unix format ...
Traceback (most recent call last):
File "/root/WORKDIR/env3.7/ENV3/bin/coverage3", line 5, in <module>
from coverage.cmdline import main
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/__init__.py", line 15, in <module>
from coverage.control import Coverage, process_startup
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/control.py", line 20, in <module>
from coverage.data import CoverageData, combine_parallel_data
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/data.py", line 17, in <module>
from coverage.sqldata import CoverageData
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/sqldata.py", line 15, in <module>
import sqlite3
File "/usr/local/python3/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/python3/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
Traceback (most recent call last):
File "/root/WORKDIR/env3.7/ENV3/bin/coverage3", line 5, in <module>
from coverage.cmdline import main
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/__init__.py", line 15, in <module>
from coverage.control import Coverage, process_startup
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/control.py", line 20, in <module>
from coverage.data import CoverageData, combine_parallel_data
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/data.py", line 17, in <module>
from coverage.sqldata import CoverageData
File "/root/WORKDIR/env3.7/ENV3/lib/python3.8/site-packages/coverage/sqldata.py", line 15, in <module>
import sqlite3
File "/usr/local/python3/lib/python3.8/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/python3/lib/python3.8/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
/bin/cp: cannot stat 'htmlcov': No such file or directory
问题分析:缺少/usr/bin/python3.8/lib/python3.8/lib-dynload/_sqlite3.cpython-38-x86_64-linux-gnu.so插件
解决办法:
1.先到linux上查询,本机上是否存在该插件。如果存在则将该插件复制到所有的python3环境中(2同理)
2.如果不存在,自己下一个so插件放到对应的目录