`pip install mysql-python` 失败,并显示“ld:找不到 -lssl 的库”

Sno*_*ash 5 python mysql ssl pip

运行pip install mysql-python失败并显示:

cc -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -Wl,-F. build/temp.macosx-10.12-intel-2.7/_mysql.o -L/usr/local/Cellar/mysql/5.7.13/lib -lmysqlclient -lssl -lcrypto -o build/lib.macosx-10.12-intel-2.7/_mysql.so
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

我认为这是一些尚未正确安装的 SSL 库。

有什么建议么?

小智 4

您需要查找是否有 openssl 库以及它们所在的位置:

sudo find / -name "openssl"
Run Code Online (Sandbox Code Playgroud)

我在这里得到它:

ls -lA /usr/local/opt/openssl/
total 1080
drwxr-xr-x   3 _  admin     102 May 25 14:55 .bottle
drwxr-xr-x   3 _  admin     102 May 25 14:55 .brew
-rw-r--r--   1 _  admin  497920 Jul 16 16:36 CHANGES
-rw-r--r--   1 _  admin     772 Jul 16 16:36 INSTALL_RECEIPT.json
-rw-r--r--   1 _  admin    6281 May 25 14:55 LICENSE
-rw-r--r--   1 _  admin   34649 May 25 14:55 NEWS
-rw-r--r--   1 _  admin    3282 May 25 14:55 README
drwxr-xr-x   4 _  admin     136 Jul 16 16:36 bin
drwxr-xr-x   3 _  admin     102 May 25 14:55 include
drwxr-xr-x  10 _  admin     340 May 25 14:55 lib
drwxr-xr-x   3 _  admin     102 May 25 14:55 share
Run Code Online (Sandbox Code Playgroud)

要安装 python 包,您需要使用:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)