>source

sqlite 3.33.0에서 사용할 수있는 "UPDATE FROM"과 같은 최신 sqlite 기능을 사용해야합니다 (https://www.sqlite.org/changes.html).

현재 데비안 도커 이미지에서는 이전 버전의 sqlite lib (이름은 libsqlite3-dev)가있는 안정적인 (buster) 배포를 사용합니다.

.sh 스크립트의 소스에서 로컬로 sqlite3를 컴파일했지만 방금 컴파일 된 sqlite 버전을 사용하도록 pythons sqlite3 모듈을 구성 할 수 없습니다.

코드는 다음과 같습니다.

# Download newer libsqlite3-dev with "UPDATE FROM" clause support
cd data_processing
wget "https://www.sqlite.org/2020/sqlite-amalgamation-3340000.zip" -O sqlite.zip
unzip sqlite.zip
rm sqlite.zip
mv sqlite-amalgamation-3340000 sqlite-3.34
cd sqlite-3.34
gcc shell.c sqlite3.c -lpthread -ldl -o sqlite3
# remove no longer needed file (everything else than just created sqlite3)
find . ! -name 'sqlite3' -type f -exec rm -f {} +
cd -
export PATH="$(pwd)/my_app/sqlite-3.34:$PATH"

여기서 바이너리를 경로에 추가하는 것만으로는 충분하지 않다는 것을 알 수 있습니다. 또한 다음을 추가해 보았습니다.

sys.path.insert(
    0,
    '/home/user/project/libs/my_app/sqlite-3.34'
)

파이썬 코드로, 성공하지 못했습니다. 시스템에 설치된 다른 sqlite lib를 사용하도록 sqlite3 python 모듈을 구성하는 방법이 있습니까?

  • 답변 # 1

    pysqlite3의 바이너리 패키지를 사용하십시오. https://github.com/coleifer/pysqlite3 요구 사항에 추가

    pip install pysqlite3-binary
    
    

    파이썬 코드에서 pysqlite3를 사용하십시오.

    import pysqlite3
        (...) conn = pysqlite3.connect(r"filename") (...)
    
    

    sqlite3 대신

관련 자료

  • 이전 javascript - 배열이있는 반응 형이있는 primeng 확인란
  • 다음 jscript - wsh 스크립트에서 응답 받기