>데이터 베이스 >MySQL 튜토리얼 >El Capitan의 MySQLdb에서 \'안전하지 않은 상대 경로 사용\' 오류가 발생하는 이유는 무엇입니까?

El Capitan의 MySQLdb에서 \'안전하지 않은 상대 경로 사용\' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-24 18:56:30478검색
Why am I getting an 사용자가 Pip을 통해 MySQL-python을 설치하고 제안된 단계를 따랐지만 문제가 지속됩니다. 게다가 그들은 El Capitan Beta 3 운영 체제를 사용하고 있습니다.

주인: 시스템 무결성 보호

Apple은 OS X El Capitan(10.11)에서 시스템 무결성 보호(SIP)를 도입했습니다. /usr과 같은 보호된 위치에 있는 프로그램이 상대 참조를 사용하여 공유 라이브러리에 액세스하는 것을 제한합니다. 이 경우 _mysql.so 공유 라이브러리에는 공유 라이브러리 libmysqlclient.18.dylib에 대한 상대 참조가 포함되어 있습니다.
ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Python/2.7/site-packages/_mysql.so
  Reason: unsafe use of relative rpath libmysqlclient.18.dylib in /Library/Python/2.7/site-packages/_mysql.so with restricted binary

해결 방법: 절대 참조 강제

향후 _mysql.so 업데이트가 진행되는 동안 이 문제를 해결할 수 있는 경우 임시 해결 방법은 install_name_tool 유틸리티를 사용하여 라이브러리가 절대 참조를 사용하도록 하는 것입니다.

libmysqlclient.18.dylib가 /usr/local/mysql/lib/에 있다고 가정하고 다음을 실행합니다. 명령:

이 명령은 libmysqlclient.18.dylib 공유 라이브러리에 대한 절대 경로를 사용하도록 _mysql.so를 수정하여 "안전하지 않은 상대 경로 사용" 오류를 해결합니다.

위 내용은 El Capitan의 MySQLdb에서 \'안전하지 않은 상대 경로 사용\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.