2016-11-14 62 views
7

Tôi đang gặp sự cố khi cài đặt mysql-python. Tạo ra một virtualenv mới và khi cài đặt mysql-python ... đây là thông báo lỗi:Lỗi khi cài đặt mysql-python: không tìm thấy thư viện cho -lssl

(env)$ pip install mysql-python 
Collecting mysql-python 
... 

clang -bundle -undefined dynamic_lookup -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk build/temp.macosx-10.12-x86_64-2.7/_mysql.o -L/usr /local/Cellar/mysql/5.7.16/lib -lmysqlclient -lssl -lcrypto -o build/lib.macosx-10.12-x86_64-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 'clang' failed with exit status 1 

Sử dụng homebrew, tôi đã cài đặt:

Đã thử t o brew link nhưng bia từ chối làm như vậy.

Hệ điều hành là MacOS Sierra.

Có ai giúp được không? Cảm ơn!

Trả lời

9

Giải quyết nó với các bước sau:

brew uninstall mysql 
brew install mysql-connector-c 
pip install mysql-python 
brew unlink mysql-connector-c 
brew install mysql 

Tìm thấy câu trả lời ở đây https://stackoverflow.com/a/25920020/576192

Không chắc nếu điều này là đúng cách, nhưng đây là cách tôi quản lý để giải quyết nó.

+2

Không hoạt động với tôi tại 'pip install mysql-python' – Jonny

5

tôi cuối cùng đã có thể sửa chữa nó bằng cách

xcode-select --install

tôi đã chắc chắn rằng tôi đã làm được điều đó ... nhưng rõ ràng là tôi đã không làm vậy. Chắc chắn đáng để bắn!

1

Làm việc cho tôi bằng cách làm này

$ brew uninstall mysql 
$ brew install mysql-connector-c 
$ brew unlink mysql-connector-c 
$ brew install mysql 
$ pip install mysql-python 

Đó là một phiên bản hơi thay đổi của công thức trên (lưu ý: pip install ở cuối)

1

Nếu bạn muốn cài đặt mysql-python, tôi đề nghị bạn để cài đặt mysqlclient thay thế. Các tác giả của hai mô-đun này giống nhau. Cho đến nay, tất cả các tác giả đều tiếp tục duy trì mysqlclient. mysqlclient hỗ trợ cả Python 2 và Python 3. Và bạn có thể sử dụng cùng mã như mysql-python. Blew là giải pháp cài đặt của tôi cho bạn.

$ brew info openssl 
$ brew unlink mysql-connector-c 
$ brew install mysql 
$ brew link --overwrite mysql-connector-c 
$ pip install mysqlclient 

Nếu có lỗi trước pip install mysqlclient. Vui lòng sửa lỗi theo methane's answer. Và chạy lại pip install mysqlclient.

1

Bạn có thể đặt đường dẫn thư viện ssl một cách rõ ràng.

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient 
Các vấn đề liên quan