จะติดตั้ง MySQLdb (Python data access library ไปยัง MySQL) บน MacOS X ได้อย่างไร


99

ฉันเป็นมือใหม่ Python แต่ฉันเพิ่งใช้เวลาหนึ่งวันในการหาวิธีทำให้ MySQLdb ทำงานได้อย่างถูกต้องและจักรวาลตาม google ก็มีการอ้างอิงมากมายเกี่ยวกับ PITA และคำแนะนำจำนวนมากที่ดูเหมือนจะเป็น เก่า. เนื่องจากไซต์นี้มีจุดประสงค์เพื่อแก้ไขปัญหาประเภทนี้และฉันรู้ว่าฉันจะต้องมีการอ้างอิงถึงวิธีแก้ปัญหาในอนาคตฉันจะถามคำถามให้คำตอบและดูว่ามีอะไรอีกบ้างที่ลอยมาที่ พื้นผิว

คำถามคือจะทำให้MySQLdbทำงานบน Mac OS X ได้อย่างไร?

คำตอบ:


133

อัปเดตสำหรับผู้ที่ใช้ Python3: คุณสามารถใช้conda install mysqlclientเพื่อติดตั้งไลบรารีที่จำเป็นในการใช้ MySQLdb ตามที่มีอยู่ในปัจจุบัน คำถามดังนั้นต่อไปนี้เป็นเบาะแสที่เป็นประโยชน์: งูหลาม 3 ImportError: ไม่มีโมดูลชื่อ 'ConfigParser' การติดตั้ง mysqlclient จะติดตั้ง mysqlclient, mysql-connector และ llvmdev (อย่างน้อยก็ติดตั้ง 3 ไลบรารีนี้ในเครื่องของฉัน)

นี่คือเรื่องราวของประสบการณ์การเที่ยวเตร่ของฉันกับปัญหานี้ ชอบที่จะเห็นการแก้ไขหรือสรุปทั่วไปหากคุณมีประสบการณ์ที่ดีขึ้นเกี่ยวกับปัญหานี้ ... ใช้เวทย์มนตร์ SO นั้นเล็กน้อย

หมายเหตุ: ความคิดเห็นในย่อหน้าถัดไปนำไปใช้กับ Snow Leopard แต่ไม่ใช่กับ Lion ซึ่งดูเหมือนว่าจะต้องใช้ MySQL 64 บิต

ปิดครั้งแรกที่ผู้เขียน (ยัง?) ของ MySQLdb กล่าวว่าที่นี่ที่หนึ่งของปัญหาที่อันตรายที่สุดคือการที่ OS X มาติดตั้งกับรุ่น 32 บิตของงูหลาม แต่ Joes เฉลี่ยมากที่สุด (รวมตัวเอง) อาจจะข้ามไปติดตั้งรุ่น 64 บิต ของ MySQL ย้ายไม่ดี ... ลบเวอร์ชัน 64 บิตหากคุณติดตั้ง (คำแนะนำเกี่ยวกับงานที่ยุ่งเหยิงนี้มีอยู่ใน SO ที่นี่ ) จากนั้นดาวน์โหลดและติดตั้งเวอร์ชัน 32 บิต (แพ็คเกจที่นี่ )

มีหลายขั้นตอนในการสร้างและติดตั้งไลบรารี MySQLdb พวกเขามักมีความแตกต่างที่ลึกซึ้ง สิ่งนี้ดูเหมือนจะเป็นที่นิยมมากที่สุดสำหรับฉันและเป็นวิธีแก้ปัญหาที่ใช้งานได้ ฉันได้ทำซ้ำโดยมีการแก้ไขสองสามรายการด้านล่าง

ขั้นตอนที่ 0: ก่อนที่ฉันจะเริ่มฉันคิดว่าคุณมี MySQL, Python และGCCติดตั้งบนเครื่อง Mac

ขั้นตอนที่ 1: ดาวน์โหลดMySQL for Python adapter ล่าสุดจาก SourceForge

ขั้นตอนที่ 2: แตกแพ็คเกจที่ดาวน์โหลดมา:

tar xzvf MySQL-python-1.2.2.tar.gz

ขั้นตอนที่ 3: ภายในโฟลเดอร์ทำความสะอาดแพ็คเกจ:

sudo python setup.py clean

สองขั้นตอนพิเศษ (จากความคิดเห็นนี้ )

ขั้นตอนที่ 3b: ลบทุกอย่างภายใต้ไดเรกทอรี MySQL-python-1.2.2 / build / * ของคุณ - อย่าเชื่อว่า "python setup.py clean" จะทำเพื่อคุณ

ขั้นตอนที่ 3c: นำไข่ออกภายใต้ Users / $ USER / .python-eggs

ขั้นตอนที่ 4: เดิมต้องการการแก้ไข _mysql.c แต่ตอนนี้ไม่จำเป็นอีกต่อไป ชุมชน MySQLdb ดูเหมือนจะแก้ไขข้อบกพร่องนี้แล้ว

ขั้นตอนที่ 5: สร้างลิงก์สัญลักษณ์ภายใต้ lib เพื่อชี้ไปยังไดเร็กทอรีย่อยที่เรียกว่า mysql นี่คือที่ที่ค้นหาในระหว่างการรวบรวม

sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

ขั้นตอนที่ 6: แก้ไข setup_posix.py และเปลี่ยนแปลงสิ่งต่อไปนี้

mysql_config.path = "mysql_config"

ถึง

mysql_config.path = "/ usr / local / mysql / bin / mysql_config"

ขั้นตอนที่ 7: ในไดเร็กทอรีเดียวกันสร้างแพ็กเกจของคุณใหม่ (ละเว้นคำเตือนที่มาพร้อมกับมัน)

sudo python setup.py build

ขั้นตอนที่ 8: ติดตั้งแพ็คเกจและคุณทำเสร็จแล้ว

sudo python setup.py install

ขั้นตอนที่ 9: ทดสอบว่าใช้งานได้หรือไม่ ใช้งานได้ถ้าคุณสามารถนำเข้า MySQLdb

python

>>> import MySQLdb

ขั้นตอนที่ 10: หากพยายามนำเข้าคุณได้รับข้อผิดพลาดบ่นว่าLibrary not loaded: libmysqlclient.18.dylibลงท้ายด้วย: Reason: image not foundคุณต้องสร้าง symlink เพิ่มเติมหนึ่งรายการซึ่ง ได้แก่ :

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

จากนั้นคุณจะสามารถทำได้import MySQLdbโดยไม่มีข้อผิดพลาดใด ๆ

อาการสะอึกสุดท้ายคือถ้าคุณเริ่ม Python จากไดเร็กทอรี build คุณจะได้รับข้อผิดพลาดนี้:

/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py:3: UserWarning: โมดูล _mysql ได้รับการนำเข้าแล้วจาก /Library/Python/2.5/ site-package / MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg / _mysql.pyc แต่กำลังเพิ่ม XXXX / MySQL-python-1.2.3c1 ใน sys.path

นี่เป็นเรื่องง่ายสำหรับ Google แต่เพื่อช่วยคุณประหยัดปัญหาคุณจะจบลงที่นี่ (หรืออาจจะไม่ใช่ ... ไม่ใช่ URL ที่พิสูจน์ได้ในอนาคตโดยเฉพาะ) และคิดว่าคุณต้องcd ..ออกจากไดเร็กทอรีบิวด์และข้อผิดพลาดควรหายไป

ดังที่ฉันเขียนไว้ด้านบนฉันชอบที่จะเห็นคำตอบนี้โดยทั่วไปเนื่องจากมีประสบการณ์เฉพาะอื่น ๆ อีกมากมายเกี่ยวกับปัญหาที่น่ากลัวนี้ แก้ไขไปหรือให้คำตอบของคุณเองดีกว่า


1
โปรดทราบว่า Python ที่ Apple จัดหาบน 10.6 (Snow Leopard) ต้องการรัน 64 บิต (เป็นแบบสากล 32 บิต / 64 บิต) ยังมีข้อผิดพลาดอื่น ๆ อีกด้วย ในซีรีส์ mysql 5.1.x มาระยะหนึ่งแล้ว OS X tarballs ที่บรรจุโดย mysql นั้นมีข้อผิดพลาด (อ้างว่าเป็นสากล แต่ไม่ใช่) อะแด็ปเตอร์ฐานข้อมูลสำหรับ Python, MySQLdb มีปัญหาของตัวเอง นี่เป็นกรณีหนึ่งที่คุณควรใช้ MacPorts เพื่อสร้างทุกสิ่งที่คุณต้องการโดยอัตโนมัติ มันง่ายเกินไปสำหรับสิ่งที่ผิดพลาด
Ned Deily

ฉันจะทิ้งสิ่งนี้ไว้ที่นี่เผื่อว่าจะได้ช่วยเหลือคนอื่น ฉันต้องแก้ไข site.cfg ด้วยเพื่อตั้งค่า mysql_config เป็นเส้นทางที่ถูกต้อง ฉันไม่คิดว่ามันมีเส้นทางในตอนแรกดังนั้นจึงผิดนัดเป็น / opt / ... แต่ฉันต้องชี้ไปที่ / usr / local / mysql / ...
tchaymore

8
ฉันต้องวิ่งด้วย:sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
David Underhill

1
ฉันทำงานบน Lion ด้วยและฉันมีปัญหาใหญ่ในการทำให้มันใช้งานได้ ในที่สุดฉันก็พบคำถามและคำตอบ SO ที่ยอดเยี่ยมนี้และปฏิบัติตาม 100% sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylibมันไม่ได้ทำงานสำหรับฉันจนกว่าฉันจะเพิ่มตรงตามที่เดวิดอันเดอร์ฮิลล์กล่าวข้างต้น: เมื่อฉันรันมันก็นำเข้าตามที่คาดไว้ ... ในที่สุด ฮิ้ววววว เป็นเพียง fyi สำหรับผู้ที่อยู่ในตำแหน่งเดียวกัน
John the King

2
ปรากฎว่าฉันมีไลบรารี mysql แต่ไม่ได้เชื่อมโยงอย่างถูกต้อง Mac OS ElCapitan ไม่อนุญาตให้เชื่อมโยงไปยัง / usr / lib แค่นี้ก็เพียงพอแล้วสำหรับฉัน: sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
Maruthi

101

วิธีที่ง่ายและรวดเร็วสำหรับ Mac OS X 10.8 (Mountain Lion), 10.9 (Mavericks), 10.10 (Yosemite) และ10.11 (El Capitan):

ฉันคิดว่าคุณติดตั้ง XCode เครื่องมือบรรทัดคำสั่ง Python และ MySQL แล้ว

  1. ติดตั้ง PIP:

    sudo easy_install pip
  2. แก้ไข ~ / .profile: (อาจไม่จำเป็นใน Mac OS X 10.10)

    nano ~/.profile

    คัดลอกและวางสองบรรทัดต่อไปนี้

    export PATH=/usr/local/mysql/bin:$PATH
    export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
    

    บันทึกและออก. Afterwords รันคำสั่งต่อไปนี้:

    source  ~/.profile
  3. ติดตั้ง MySQLdb

    sudo pip install MySQL-python

    หากต้องการทดสอบว่าทุกอย่างทำงานได้ดีเพียงแค่ลอง

    python -c "import MySQLdb"

มันเป็นเสน่ห์สำหรับฉัน ฉันหวังว่ามันจะช่วยได้

หากคุณพบข้อผิดพลาดเกี่ยวกับไลบรารีที่หายไป: ไม่ได้โหลดไลบรารี: libmysqlclient.18.dylibคุณต้องเชื่อมโยงไลบรารี/usr/libให้เป็นดังนี้:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 

2
ขอขอบคุณโซลูชันนี้ใช้ได้กับ Mac OSX 10.9 :-)
matsoftware

2
สิ่งนี้ใช้งานได้ดีสำหรับฉัน (Yosemite public beta; Mysql 5; Py2.7) แต่ฉันต้องทำsudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylibคำสั่งจากด้านล่าง
Michael Scott Cuthbert

คำตอบที่ดี. ฉันมีคำจำกัดความอื่นของ DYLD_LIBRARY_PATH ใน. bash_profile ของฉันแล้วดังนั้นฉันจึงเพิ่มมันด้วยวิธีนี้export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/
beroe

1
เพิ่งตรวจสอบว่าใช้งานได้กับ 10.10.4 นอกจากนี้การใช้ mysql จาก homebrew การเปลี่ยนแปลง. profile ก็ไม่จำเป็นต้องใช้ในการทำงานนี้
Isotopp

1
หลังจากติดตั้ง MySQL ด้วยbrew install mysqlฉันไม่ต้องผ่านขั้นตอนที่ 2
dav.garcia

36

ติดตั้ง mysql และ python ผ่านMacportsลูกหาบได้ทำงานที่ยากลำบากทั้งหมด

sudo port install py26-mysql 
sudo port install mysql5-server

ควรติดตั้งสิ่งที่คุณต้องการ (ดูสแตกล้นสำหรับความคิดเห็นเกี่ยวกับเซิร์ฟเวอร์ mysql )

หากคุณต้องการเพียงแค่เชื่อมต่อกับ mysql และไม่ได้เรียกใช้เซิร์ฟเวอร์บรรทัดแรกก็เพียงพอแล้ว

Macports ตอนนี้ (ต้นปี 2013) จะให้บริการดาวน์โหลดไบนารีสำหรับการรวมกันของระบบปฏิบัติการซึ่งเป็นสถาปัตยกรรมที่ปฏิบัติการได้สำหรับผู้อื่น (และหากคุณร้องขอ) มันจะสร้างจากแหล่งที่มา

โดยทั่วไปแล้ว macports (หรือ fink) จะช่วยได้เมื่อมีไลบรารีที่ซับซ้อนและอื่น ๆ ที่จำเป็นต้องติดตั้ง

Python เฉพาะรหัสและหากสามารถตั้งค่าการอ้างอิง C อย่างง่ายผ่าน setuptools เป็นต้น แต่จะเริ่มซับซ้อนหากคุณผสมทั้งสองอย่างเข้าด้วยกัน


3
โปรดทราบว่าเมื่อเริ่มใช้ MacPorts ตรวจสอบให้แน่ใจว่าเส้นทางของคุณต้องการ / opt / local / bin over / usr / bin เนื่องจาก MacPorts จะติดตั้งสิ่งต่างๆภายใต้ / opt / local
Teemu Kurppa

4
ใช่ และข้ามบรรทัดที่สองหากคุณต้องการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ที่มีอยู่ น่าเสียดายที่มีจำนวนการอ้างอิงที่เกี่ยวข้องการพยายามใช้ python กับ mysql บน OS X เป็นกรณีหนึ่งที่ง่ายกว่าที่จะให้ MacPorts ติดตั้งอินสแตนซ์ python เพิ่มเติมแทนที่จะพยายามเล่นตัวจัดการแพ็คเกจด้วยตัวเอง
Ned Deily

ในฐานะที่เป็นแนวทางหากคุณได้รับคำเตือนการเลิกใช้งานหน้าต่อไปนี้มีการแก้ไข: bugs.launchpad.net/python-mysqldb/+bug/341943
Jay Taylor

4
FYI ถ้าคุณทำแค่บรรทัดแรก (อย่างน้อยที่สุดด้วย py27-mysql) มันจะจบลงด้วยการติดตั้ง mysql5 อยู่ดี โดยการดาวน์โหลดและรวบรวมแหล่งที่มา อาจไม่ใช่สิ่งที่คุณต้องการ Grr.
Ben Hardy

@BenHardy - มันได้รับการติดตั้งทั้งหมดซึ่งเป็นสิ่งที่คุณต้องการและสิ่งที่ฉันหมายถึง - ตอนนี้ปฏิบัติการสิงโตและเสือดาวหิมะถูกสร้างขึ้นจากส่วนกลางโดย macports ดังนั้นจะไม่ทำการคอมไพล์ในเครื่องในกรณีส่วนใหญ่
mmmmmm

15

ติดตั้ง pip:

sudo easy_install pip

ติดตั้งเบียร์:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

ติดตั้ง mysql:

brew install mysql

ติดตั้ง MySQLdb

sudo pip install MySQL-python

หากคุณมีปัญหาในการคอมไพล์ลองแก้ไขไฟล์ ~ / .profile เหมือนในคำตอบข้อใดข้อหนึ่งที่นี่


ขอบคุณ! สิ่งนี้ใช้ได้กับ Sierra [OSX 10.12.6 (16G29)]
Haranadh

curl: (22) URL ที่ร้องขอส่งกลับข้อผิดพลาด: 404 Not Found
Thirupathi Thangavel

ทำสิ่งนี้ แต่กับpip install mysqlclientแทน ได้ผล!
jeremysprofile

13

นี่เป็นอีกขั้นตอนหนึ่งที่ฉันต้องทำหลังจากได้รับข้อผิดพลาดในการทำขั้นตอนที่ 9 ให้เสร็จสิ้น:

ImportError: dlopen(/Users/rick/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

ข้อมูลอ้างอิง: ขอบคุณ! http://ageekstory.blogspot.com/2011_04_01_archive.html



4

เพิ่งมีปัญหานี้ (อีกแล้ว!) หลังจากได้กล่อง Lion ใหม่

ทางออกที่ดีที่สุดที่ฉันพบ (ยังไม่เหมาะสม 100% แต่ใช้งานได้):

คุณสามารถดาวน์โหลดได้โดยดาวน์โหลด XCode / Dev Tools จาก Apple ซึ่งเป็นการดาวน์โหลดขนาดใหญ่ -

... แต่ขอแนะนำ github นี้ซึ่งมีสิ่งที่คุณต้องการแทน (และไม่มี XCode): https://github.com/kennethreitz/osx-gcc-installer

ฉันดาวน์โหลด PKG ที่สร้างไว้ล่วงหน้าสำหรับสิงโตแล้วhttps://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg

  • ตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลด MYSQL Community เวอร์ชัน 64 บิต (การติดตั้ง DMG เป็นเส้นทางที่ง่าย) http://dev.mysql.com/downloads/mysql/

  • กำหนดเส้นทางดังนี้:

    ส่งออก PATH = $ PATH: / usr / local / mysql-XXXX

    ส่งออก DYLD_LIBRARY_PATH = / usr / local / mysql / lib /

    ส่งออก ARCHFLAGS = '- arch x86_64'

หมายเหตุว่า:

1 ใน mysql-XXXX ด้านบน XXX คือเวอร์ชันเฉพาะที่คุณดาวน์โหลด (อาจเป็น / usr / local / mysql / ก็ใช้ได้เช่นกันเนื่องจากน่าจะเป็นนามแฝงเหมือนกัน แต่ฉันจะไม่แสร้งทำเป็นรู้การตั้งค่าของคุณ)

2 ฉันได้เห็นมันแนะนำว่า ARCHFLAGS ถูกตั้งค่าเป็น '-arch i386 -arch x86_64' แต่การระบุ x86_64 เท่านั้นดูเหมือนจะทำงานได้ดีกว่าสำหรับฉัน (ฉันนึกถึงเหตุผลบางประการสำหรับเรื่องนี้ แต่ไม่เกี่ยวข้องอย่างเคร่งครัด)

  • ติดตั้งสัตว์ร้าย!

    easy_install MySQL-python

  • ขั้นตอนสุดท้าย:

เพิ่ม DYLD_LIBRARY_PATH อย่างถาวร!

คุณสามารถเพิ่มลงใน bash_profile หรือคล้ายกันได้ นี่เป็นขั้นตอนที่ขาดหายไปสำหรับฉันโดยที่ระบบของฉันยังคงยืนยันข้อผิดพลาดต่างๆในการค้นหา _mysql.so และอื่น ๆ

ส่งออก DYLD_LIBRARY_PATH = / usr / local / mysql / lib /

@ richard-boardman เพิ่งสังเกตเห็นโซลูชันซอฟต์ลิงค์ของคุณซึ่งอาจมีผลในสิ่งเดียวกันกับที่โซลูชัน PATH ของฉันทำ ... คนอะไรก็ได้ที่ดีที่สุดสำหรับคุณ

แหล่งอ้างอิงที่ดีที่สุด: http://activeintelligence.org/blog/archive/mysql-python-aka-mysqldb-on-osx-lion/


4

คุณสามารถลองใช้ pure-python pymysql:

sudo easy_install pymysql

(หรือใช้pipถ้าคุณติดตั้งไว้) จากนั้นเพิ่มสิ่งนี้ก่อนคุณimport MySQLdbในรหัสของคุณ:

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except ImportError:
    pass

3

หรือลองง่ายๆ:

> sudo easy_install MySQL-python

หากมีข้อผิดพลาดดังต่อไปนี้:

EnvironmentError: ไม่พบ mysql_config

จากนั้นเรียกใช้สิ่งนี้

> export PATH=$PATH:/usr/local/mysql/bin

0

หากคุณใช้ MySQL 64 บิตโดยใช้ ARCHFLAGS เพื่อระบุสถาปัตยกรรม cpu ของคุณในขณะที่สร้างไลบรารี mysql-python จะทำเคล็ดลับ:

ARCHFLAGS='-arch x86_64' python setup.py build
ARCHFLAGS='-arch x86_64' python setup.py install


0

บน macos Sierra งานนี้สำหรับฉันโดยที่ python จัดการโดย anaconda:

anaconda search -t conda mysql-python

anaconda show CEFCA/mysql-python

conda install --channel https://conda.anaconda.org/CEFCA mysql-python

วิธีใช้กับ SQLAlchemy:

Python 2.7.13 | Continuum Analytics, Inc. | (ค่าเริ่มต้น 20 ธันวาคม 2016, 23:05:08) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] บนดาร์วินพิมพ์ "help", "copyright", "สินเชื่อ" หรือ "ใบอนุญาต" สำหรับข้อมูลเพิ่มเติม ข้อมูล. Anaconda นำเสนอให้คุณโดย Continuum Analytics โปรดตรวจสอบ: http://continuum.io/thanksและhttps://anaconda.org

>>> จาก sqlalchemy import *

>>> dbengine = create_engine ('mysql: // .... ')


0

คำตอบนี้คือการอัปเดตประมาณเดือนพฤศจิกายน 2019 ไม่มีการติดตั้ง pip ยอดนิยมใด ๆ ที่จะให้การตั้งค่าที่ใช้งานได้บน MacOS 10.13 (และอาจเป็นเวอร์ชันอื่น ๆ ด้วย) นี่คือวิธีง่ายๆที่ทำให้ฉันได้ผล:

brew install mysql
pip install mysqlclient

หากคุณต้องการความช่วยเหลือในการติดตั้งเบียร์โปรดดูเว็บไซต์นี้: https://brew.sh/


0

ฉันพบปัญหานี้และพบว่าmysqlclientจำเป็นต้องทราบว่าจะหา openssl ได้ที่ไหนและ OSX จะซ่อนสิ่งนี้ไว้ตามค่าเริ่มต้น

ค้นหา openssl ด้วยbrew info opensslแล้วเพิ่มเส้นทางไปยังopensslถังขยะของคุณไปยัง PATH ของคุณ:

export PATH="/usr/local/opt/openssl/bin:$PATH"

ขอแนะนำให้เพิ่มสิ่งนั้นใน. zshrc หรือ. bashrc ของคุณเพื่อที่คุณจะได้ไม่ต้องกังวลกับมันในอนาคต จากนั้นด้วยการส่งออกตัวแปรนั้น (ซึ่งอาจหมายถึงการปิดและเปิดเซสชัน bash ของคุณอีกครั้ง) ให้เพิ่มตัวแปร env อีกสองตัว:

# in terminal
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

จากนั้นเรียกใช้:

pipenv install mysqlclient

และควรติดตั้งได้ดี

ที่มา: https://medium.com/@shandou/pipenv-install-mysqlclient-on-macosx-7c253b0112f2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.