我想使用带有 json 扩展名的 sqlite,所以我用自制程序安装了它。当我运行
which sqlite
时,正在使用的是 anaconda 安装。如果我尝试使用 pythons sqlite 库,我也会遇到同样的问题。它链接到 Anaconda 版本,并且 JSON 函数不可用。如何将其替换为 brew 版本?当我安装 sqlite 时,Brew 提供了一些值,但我不知道我是否需要它们或如何使用它们。
LDFLAGS:-L/usr/local/opt/sqlite/lib CPPFLAGS:-I/usr/local/opt/sqlite/include PKG_CONFIG_PATH:/usr/local/opt/sqlite/lib/pkgconfig
Homebrew 安装的 Sqlite 仅是 keg,未链接到 /usr/local/... .
这是因为系统已经有旧版本的
sqlite3
。
如果您确实想调用 Homebrew 的 sqlite 二进制文件,请指定完整路径,如下所示。
$ /usr/local/opt/sqlite/bin/sqlite3
(所有 Homebrew 软件包都在
/usr/local/opt
下符号链接)
我对 python 不太熟悉,但 AFAIK sqlite 静态链接到 python 可执行文件。
换句话说,也许你必须从源代码构建 python 才能与 Homebrew 的 sqlite 一起使用。
(编辑)更新:对于 Apple Silicon Homebrew 将二进制文件放入:
/opt/homebrew/bin
另请参阅这个答案
equal-l2的答案是正确的。另外,下面是Keith John Hutchison的评论。
但是,由于它们是几年前的事情,而且还没有一个正式接受的答案,所以你就这样吧,因为这在 2022 年仍然让你措手不及。
要修复,请将其添加到您的
~/.zshrc
文件中,您应该会很好:
export PATH=/usr/local/opt/sqlite/bin:$PATH
记住像上面一样在末尾有$PATH,并且像这样在开头有not:
export PATH=$PATH:/usr/local/opt/sqlite/bin
当 shell 从左到右遍历您的 $PATH 来完成命令并在找到的第一个实例处停止时,显然您希望首先考虑您想要的路径。
此外,如果您希望它在同一个终端会话中开始工作,您可能需要运行
source ~/.zshrc
和 rehash
。