在Ubuntu 20.04上无法通过pyenv降级Python 3.4的sqlite3.sqlite_version来运行毒素测试。

问题描述 投票:0回答:1

设置。

  • Ubuntu 20.04
  • Pyenv
  • libsqlite3-dev v3.31.1

我试图降级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。

如果你能在这方面提供任何帮助,哪怕只是指向有用的资源,我都会提前表示感谢。

python sqlite python-3.4 pyenv
1个回答
0
投票

我终于用下面的方法解决了这个问题。

  1. 卸载linuxbrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
  2. 重新安装linuxbrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  3. COMMIT=667d43f39f537f23ad6044b73e53482c44c2f93d
  4. brew install https://raw.githubusercontent.com/Homebrew/linuxbrew-core/$COMMIT/Formula/sqlite.rb
  5. pyenv uninstall 3.4.8
  6. export LD_RUN_PATH=/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
  7. export LDFLAGS=-L/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
  8. export CFLAGS=-L/home/linuxbrew/.linuxbrew/Cellar/sqlite/3.25.3/lib
  9. export CPPFLAGS=-I/home/linuxbrew/.linuxbrew/include
  10. pyenv install 3.4.8
© www.soinside.com 2019 - 2024. All rights reserved.