noob程序员在这里,我试图让我的Python安装上的SQLite3更新(我目前有3.6.11版本,而我至少需要版本3.6.19,因为这是第一个版本,支持外键)。不过这是我的问题:我不知道该怎么做。我对命令行几乎一无所知,我真的不知道在我的python安装中要替换哪些文件(如果有的话)。在有人要求之前,我已经在使用最新的Pysql版本 - 这是最新的。任何人都可以给我一些指示,或者可能是如何更新这个指南?
我使用的是Mac OSX 10.5.8,使用python 2.6。
答案 0 :(得分:2)
我建议在命令行上使用'pip'命令。
pip search sqlite
pip install pysqlite
答案 1 :(得分:1)
我刚刚在小牛队和山狮队中安装了这个。
这个SO article提到使用build_static方法,他们说这会检索最新版本的sqlite合并。由于某种原因,它不起作用(即它似乎没有下载或使用它)
我最终做的是
$ python setup.py build_static install
使用最新sqlite源代码库编译的pysqlite。然后在Python中,我用它作为:
import pysqlite2.dbapi2 as sqlite3
答案 2 :(得分:1)
我最近从源代码安装了python并使用以下命令从源代码安装SQLite和从源代码安装Python 2.7.13。
对于SQLite3,您可以使用以下命令 $ SQLITE_INSTALL_LOCATION
$ curl -O http://www.sqlite.org/sqlite-autoconf-3070603.tar.gz
$ tar xvfz sqlite-autoconf-3070603.tar.gz
$ cd sqlite-autoconf-3070603
$ ./configure --prefix=$SQLITE_INSTALL_LOCATION --disable-static CFLAGS="-g"
$ make && make install
然后当我编译我的python时,我编辑了Python源代码中的setup.py
$ curl -O https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
$ tar xvfz Python-2.7.13.tgz
Python-2.7.13 / setup.py - 在此处添加SQLite安装的路径: ```
...
# We hunt for #define SQLITE_VERSION "n.n.n"
# We need to find >= sqlite version 3.0.8
sqlite_incdir = sqlite_libdir = None
sqlite_inc_paths = [ '/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
$SQLITE_INSTALL_LOCATION/include,
]
...
一旦你更改了python源代码中的setup.py,请完成编译并安装python,假设安装位置为$ PYTHON_INSTALL_LOCATION
$ cd Python-2.7.13
$ LD_RUN_PATH=$SQLITE_INSTALL_LOCATION/lib ./configure --prefix=$PYTHON_INSTALL_LOCATION --enable-shared --enable-unicode=ucs4
$ LD_RUN_PATH=$SQLITE_INSTALL_LOCATION/lib make
$ LD_RUN_PATH=$SQLITE_INSTALL_LOCATION/lib make install
一旦你这样做,你应该在$ PYTHON_INSTALL_LOCATION / bin / python上安装一个支持SQLite3支持的Python版本
希望这有帮助!
答案 3 :(得分:0)
https://pip.pypa.io/en/latest/installing.html
python get-pip.py
python [完整路径]
python c:\ folder \ get-pip.py
答案 4 :(得分:0)
免责声明:我不是Mac用户,但根据我所掌握的常识 这个信息。
您可以按照下面的说明操作:
正如page提到:如果您需要升级sqlite,可以使用Homebrew。
Homebrew意味着一个附加的“软件经理”。所以你应该知道如何使用它。
正如page所述:
$ tar xvfz sqlite-autoconf-3071502.tar.gz
$ cd sqlite-autoconf-3071502
$ ./configure --prefix=/usr/local
$ make
$ make install
>>> import sqlite3
>>> sqlite3.version_info
(2, 4, 1)
>>> sqlite3.sqlite_version_info
(3, 6, 11)
>>> from pysqlite2 import dbapi2 as sqlite3
>>> sqlite3.version_info
(2, 5, 5)
>>> sqlite3.sqlite_version_info
(3, 6, 18)
也许您需要卸载以前版本的pysqlite。无论如何,您应该阅读this answer以更好地理解 sqlite / python 关系。