{"id":10020577,"date":"2024-12-31T15:59:31","date_gmt":"2024-12-31T07:59:31","guid":{"rendered":"https:\/\/itmax.cn\/?p=10020577"},"modified":"2024-12-31T15:59:31","modified_gmt":"2024-12-31T07:59:31","slug":"macos%e5%ae%89%e8%a3%85mysqlclient","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10020577","title":{"rendered":"macOS\u5b89\u88c5mysqlclient"},"content":{"rendered":"<p>macOS\u5b89\u88c5mysqlclient\u62a5\u4e0b\u9762\u7684\u9519\uff1a<\/p>\n<pre><code>\u7701\u75651\u4e07\u5b57\u3002\u3002\u3002\nclang -bundle -undefined dynamic_lookup -L\/opt\/homebrew\/opt\/ncurses\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/readline\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -Wl,-rpath,\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -L\/opt\/homebrew\/lib -Wl,-rpath,\/opt\/homebrew\/lib -L\/Library\/Developer\/CommandLineTools\/SDKs\/MacOSX.sdk\/usr\/lib -L\/opt\/homebrew\/opt\/ncurses\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/readline\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -Wl,-rpath,\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -L\/opt\/homebrew\/lib -Wl,-rpath,\/opt\/homebrew\/lib -L\/Library\/Developer\/CommandLineTools\/SDKs\/MacOSX.sdk\/usr\/lib build\/temp.macosx-15.3-arm64-cpython-37\/_mysql.o -L\/usr\/local\/mysql\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -lmysqlclient -limported_openssl -limported_crypto -o build\/lib.macosx-15.3-arm64-cpython-37\/_mysql.cpython-37m-darwin.so\nld: warning: duplicate -rpath '\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib' ignored\nld: warning: duplicate -rpath '\/opt\/homebrew\/lib' ignored\nld: library 'imported_openssl' not found\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\nerror: command '\/usr\/bin\/clang' failed with exit code 1<\/code><\/pre>\n<p>\u610f\u601d\u5c31\u662fimported_openssl\u6ca1\u627e\u5230\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u4e0b\u9762\u7684\u529e\u6cd5:<br \/>1\u3001\u76f4\u63a5\u4e0b\u8f7d\u5b89\u88c5\u5305 <code>wget https:\/\/files.pythonhosted.org\/packages\/74\/ff\/4e964e20b559e55d7afa60fbccc6a560f2adf289813bd3d7eb4eb8a87093\/mysqlclient-1.3.7.tar.gz<\/code><\/p>\n<p>2\u3001\u89e3\u538b <code>tar -zxf mysqlclient-1.3.7.tar.gz<\/code><br \/>3\u3001\u8fdb\u5165\u76ee\u5f55 <code>cd mysqlclient-1.3.7<\/code><br \/>4\u3001\u624b\u52a8\u5b89\u88c5 <code>python setup.py install<\/code>\uff0c\u6b63\u5e38\u6765\u8bb2\u4f1a\u62a5\u4e0a\u9762\u7684\u9519\uff0c\u627e\u5230\u62a5\u9519\u4e0a\u9762clang\u7684\u90a3\u53e5\u6307\u4ee4\u628a\u91cc\u9762\u7684&#8221;-limported_openssl -limported_crypto&#8221;\u53bb\u6389\u5f97\u5230\u4e0b\u9762\u7684\u547d\u4ee4\uff08\u6839\u636e\u81ea\u5df1\u7684\u73af\u5883\u6709\u6240\u4e0d\u540c\uff09\uff0c\u624b\u52a8\u6267\u884c\u8fd9\u6761\u6307\u4ee4\uff0c\u6b63\u5e38\u7684\u8bdd\u80fd\u7f16\u8bd1\u8fc7\u3002<\/p>\n<pre><code>clang -bundle -undefined dynamic_lookup -L\/opt\/homebrew\/opt\/ncurses\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/readline\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -Wl,-rpath,\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -L\/opt\/homebrew\/lib -Wl,-rpath,\/opt\/homebrew\/lib -L\/Library\/Developer\/CommandLineTools\/SDKs\/MacOSX.sdk\/usr\/lib -L\/opt\/homebrew\/opt\/ncurses\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/readline\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -Wl,-rpath,\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -L\/opt\/homebrew\/lib -Wl,-rpath,\/opt\/homebrew\/lib -L\/Library\/Developer\/CommandLineTools\/SDKs\/MacOSX.sdk\/usr\/lib build\/temp.macosx-15.3-arm64-cpython-37\/_mysql.o -L\/usr\/local\/mysql\/lib -L\/Users\/XX\/.pyenv\/versions\/3.7.17\/lib -lmysqlclient -o build\/lib.macosx-15.3-arm64-cpython-37\/_mysql.cpython-37m-darwin.so<\/code><\/pre>\n<p>5\u3001\u518d\u6b21\u6267\u884c<code>python setup.py install<\/code>\uff0c\u56e0\u4e3a\u9700\u8981\u7684so\u6587\u4ef6\u521a\u521a\u5df2\u7ecf\u6784\u5efa\u5b8c\u4e86\uff0c\u6240\u4ee5\u4e0d\u4f1a\u5931\u8d25\u4e86\uff0c\u53ef\u4ee5\u7528\u547d\u4ee4<code>python -c &quot;import MySQLdb;print(MySQLdb.__file__)<\/code>\u8bd5\u8bd5\u6b63\u5e38\u6ca1\u3002\u5982\u679c\u62a5\u201c&#8217;libmysqlclient.18.dylib&#8217; (no such file)\u201d\u9519\u7684\u8bdd\u53ef\u4ee5\u770b\u8fd9\u7bc7 <a href=\"https:\/\/segmentfault.com\/a\/1190000045691431\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/segmentfault.com\/a\/1190000045691431<\/a><\/p>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000045691645\">https:\/\/segmentfault.com\/a\/1190000045691645<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>macOS\u5b89\u88c5mysqlclient\u62a5\u4e0b\u9762\u7684\u9519\uff1a \u7701\u75651\u4e07\u5b57\u3002\u3002\u3002 clang -bundle -undefi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-10020577","post","type-post","status-publish","format-standard","hentry","category-share"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10020577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10020577"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10020577\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10020577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10020577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10020577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}