在我的python安装上更新SQLite3构建

时间:2012-06-05 20:43:38

标签: python sqlite

noob程序员在这里,我试图让我的Python安装上的SQLite3更新(我目前有3.6.11版本,而我至少需要版本3.6.19,因为这是第一个版本,支持外键)。不过这是我的问题:我不知道该怎么做。我对命令行几乎一无所知,我真的不知道在我的python安装中要替换哪些文件(如果有的话)。在有人要求之前,我已经在使用最新的Pysql版本 - 这是最新的。任何人都可以给我一些指示,或者可能是如何更新这个指南?

我使用的是Mac OSX 10.5.8,使用python 2.6。

5 个答案:

答案 0 :(得分:2)

我建议在命令行上使用'pip'命令。

pip search sqlite
pip install pysqlite

答案 1 :(得分:1)

我刚刚在小牛队和山狮队中安装了这个。

这个SO article提到使用build_static方法,他们说这会检索最新版本的sqlite合并。由于某种原因,它不起作用(即它似乎没有下载或使用它)

我最终做的是

  1. 将pysqlite下载为tarball
  2. 下载最新的sqlite源amalgamation
  3. 将pysqlite解压缩到其文件夹
  4. 解压缩sqlite并复制到pysqlite文件夹
  5. 打开setup.cfg并注释掉所有指令
  6. 在终端中,转到pysqlite文件夹,然后:
  7. $ 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用户,但根据我所掌握的常识   这个信息。

您可以按照下面的说明操作:

使用Homebrew

正如page提到:如果您需要升级sqlite,可以使用Homebrew

Homebrew意味着一个附加的“软件经理”。所以你应该知道如何使用它。

从源

安装它

正如page所述:

  1. 下载sqlite-autoconf package
  2. 编译并安装它:
  3. $ 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 关系。