从requirements.txt文件安装python requirements时,有几个包需要LDFLAGS/CPPFLAGS中的不同值。首先,我在安装mysql-client时得到了这个:ld: library not found for -lzstd
我通过像这样运行pip安装来解决这个问题:
CPPFLAGS="-I/opt/homebrew/include" LDFLAGS="-L/opt/homebrew/lib" pip install mysqlclient
than,我在安装加密时遇到了这个问题:
build/temp.macosx-10.14-arm64-3.8/_openssl.c:575:10: fatal error: 'openssl/opensslv.h' file not found
#include <openssl/opensslv.h>
通过这样安装来解决:
CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" pip install cryptography
我的问题是——这是怎么回事?我想在我的。zshrc中保留LDFLAGS/CPPFLAGS值,但似乎每个包我都需要不同的值??在我的旧mac上工作时,我记得值是
export LDFLAGS="-L/opt/homebrew/opt/mysql-client/lib"
export CPPFLAGS="-I/opt/homebrew/opt/mysql-client/include"
是在你安装完mysql-client后,brew给你的建议值。
只要它们不相互冲突,您可以在其中放置多个目录,例如
LDFLAGS='-L/opt/foo/lib -L/usr/local/bar/lib'
,同样适用于CPPFLAGS。
然而,就我个人而言,我会避免将LDFLAGS和CPPFLAGS放在。zshrc中-正如您已经发现的那样,所需的值通常取决于您正在编译的东西,并且全局设置它们(然后不可避免地忘记它们)可能会在将来的某个时候引起混乱。