如何在没有sudo命令的情况下在Linux的单独目录中安装sql3.7的sqlite3?

时间:2019-06-24 13:19:41

标签: python linux python-3.x sqlite

我有一个问题,当我在Linux服务器上运行代码时,我得到:

ModuleNotFoundError:没有名为“ _sqlite3”的模块

因此,在研究之后,我发现在安装python时应该已经安装了sqlite3,但事实并非如此。 我认为问题出在我安装python的方式上。由于我没有sudo权限,因此我在本地目录中使用This guide安装了python3.7。 我能找到的所有关于sqlite3问题的解决方案都需要sudo命令。

还有另一种方法可以在不使用任何sudo命令的情况下将python3.7和sqlite3一起安装到本地Linux目录中吗?

我希望我已经清楚地陈述了我的问题,我将很感激我能获得的所有帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

在没有“ sudo”特权的Linux系统中安装python软件包时,可以使用

对于Python 3

pip install --no-cache-dir flask

您可以使用相同的方法安装任何第三方软件包

pip3 install --user pysqlite3

pip install的pip3 install --user PACKAGE_NAME标志告诉Pip将软件包安装在主目录中的某些特定目录中。有关更多信息,click here
希望对您有帮助!

答案 1 :(得分:0)

解决方案是首先将 sqlite3 构建到用户目录中,然后使用该目录的库构建 python 并包含头文件。特别是@Ski有answered一个关于python 2的类似问题,可以被python 3采用:

$ mkdir -p ~/applications/src
$ cd ~/applications/src
$ # Download and build sqlite 3 (you might want to get a newer version)
$ wget http://www.sqlite.org/sqlite-autoconf-3070900.tar.gz
$ tar xvvf sqlite-autoconf-3070900.tar.gz
$ cd sqlite-autoconf-3070900
$ ./configure --prefix=~/applications
$ make
$ make install

$ # Now download and build python 2, same works for python 3
$ cd ~/applications/src
$ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
$ tar xvvf Python-2.5.2.tgz
$ cd Python-2.5.2
$ ./configure --prefix=~/applications
$ make
$ make install

$ ~/applications/bin/python

或者,如果您出于某种原因必须指定不同的 --prefix(这在我身上发生过 pyenv),请在配置 python 时使用 LDFLAGSCPPFLAGS构建:

$ ./configure LDFLAGS=-L/home/user/applications/lib/ CPPFLAGS=-I/home/user/applications/include/