设置。
我试图降级Python 3.4的sqlite3.sqlite_version来运行一些毒素测试,但毫无进展。我使用的是 Ubuntu 20.04。我能够成功升级到3.32.1与。
PYTHON_CONFIGURE_OPTS="LD_RUN_PATH=/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.32.1/lib \
LDFLAGS=-L/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.32.1/lib \
CPPFLAGS=-I/home/linuxbrew/.linuxbrew/include" pyenv install 3.4.8
当我试图安装一个3.25或3.24的旧公式并替换到上面的LD_RUN_PATHLDFLAGS变量中时,我总是用3.31.1(Ubuntu系统版本的libsqlite3-dev)。我不能降级libsqlite3-dev,因为它是其他系统包的依赖。我假设是我对试图传递给编译过程的标志理解不透彻,但我不确定。
如果我完全放弃CPPFLAGS变量,我可以让它完全不编译_sqlite3,但是当我把它指向上面的片段中的值,或者包含在单独编译的sqlite3 3.253.24中,或者我试过的任何其他组合时,我仍然会得到3.31.1。
如果你能在这方面提供任何帮助,哪怕只是指向有用的资源,我都会提前表示感谢。
我终于用下面的方法解决了这个问题。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
COMMIT=667d43f39f537f23ad6044b73e53482c44c2f93d
brew install https://raw.githubusercontent.com/Homebrew/linuxbrew-core/$COMMIT/Formula/sqlite.rb
pyenv uninstall 3.4.8
export LD_RUN_PATH=/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
export LDFLAGS=-L/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
export CFLAGS=-L/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
export CPPFLAGS=-I/home/linuxbrew/.linuxbrew/include
pyenv install 3.4.8