Python 용 CentOS에서 Sqlite3 버전 업그레이드 문제

Sep 24 2020

나는이 CentOS 6내 시스템에 나는 파이썬을위한 SQLite는을 업데이트하기 위해 노력하고있어. 소스에서 설치하고 예상대로 sqlite --version버전 3.33.0을 반환합니다 .

그러나 사용하여 파이썬 SQLite 버전을 확인하려고 할 때 import sqlite3; sqlite3.sqlite_version;여전히 이전 SQLite 버전을 얻습니다 3.6.20.

Software Locations:
     Python 3.6.9 - /usr/bin/python3
     Sqlite3 - /usr/bin/sqlite3

나는 여기 에서 해결책을 시도했지만 전혀 작동하지 않습니다 LD_LIBRARY_PATH.python SQLite 버전 을 업데이트 하고 확인한 후에도 여전히 '3.6.20'을 제공하고 여기 에서 시도 sudo LD_RUN_PATH=하면 오류가 발생 No such file or directory하지만 실행하면 sudo가 없으면 LD_RUN_PATH=성공적으로 컴파일되지만 여전히 SQLite '3.6.20'(제거하지 않고 컴파일 된 파이썬)을 제공합니다.

참고 : 여러 python3 버전이 있습니다.

이 문제를 해결하려면 어떻게해야합니까?

답변

Sarol Oct 04 2020 at 02:42

내가 그것을했을 때 (특히 실행중인 파이썬 프로그램을 위해 sqlite3를 업데이트하는 방법을 찾으려고했지만 작동하지 않았습니다 ...), sqlite를 컴파일하고 libsqlite3.so.0.8.6을 얻은 다음 시스템 전체 sqlite3를 그. 데비안에서는 / usr / lib / x86_64-linux-gnu에있었습니다. 이 방법으로 향후 업데이트 할 때 문제 가 발생할 수 있음을 확인했습니다. 그래도 파이썬의 sqlite3를 업데이트했습니다.

sbluhm Oct 06 2020 at 12:45

특정 버전을 가져올 수 있습니다.

__requires__= 'sqlite3==3.6.20'
import pkg_resources
pkg_resources.require("sqlite3==3.6.20")
import sqlite

이것은 첫 번째 가져 오기에서만 작동합니다. sqlite가 pkg_resources보다 먼저 가져 오면 최신 버전을 사용합니다.