在linux中手动编译python3 后安装 jupyter notebook,启动的jupyter 的时候遇到ModuleNotFoundError: No module named '_sqlite3' 问题,如果有管理员权限的话,可以直接用管理员权限安装 sqlite3,参考,这也是目前大部分博文中提到的方法,具体如下
sudo apt-get install libsqlite3-dev
然后重新编译python即可
./configure --enable-loadable-sqlite-extensions --prefix=/your/python/install/dir make && make install
但是,有时候没有管理员权限的时候,就需要自己编译sqlite然后再编译python具体如下,
1.下载安装 sqlite,参考
wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz tar -xf sqlite-autoconf-3240000.tar.gz cd sqlite-autoconf-3240000/ ./configure --prefix=/your/sqlite/install_dir make && make install
2.编译python
./configure LDFLAGS="-L/your_sqlite_install_dir/lib" CPPFLAGS="-I/your_sqlite_install_dir/include" --prefix=/your/python/install/dir --enable-loadable-sqlite-extensions make && make install
注意这里 LDFLAGS用来指定你安装sqlite的库文件位置,CPPFLAGS用指定sqlite的头文件的位置,这样python在编译的时候就能找到你已经安装的sqlite,然后在python里面编译成可用的库,笔者第一次安装的时候只指定了PATH和LD_LIBRARY_PATH,没有指定头文件的位置,导致编译python的时候还是缺了_sqlite这个模块,所以这里特别强调一下需要指定好头文件的位置!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)