Pertama, ya, saya sudah melihat ini:
pip install mysql-python gagal dengan EnvironmentError: mysql_config tidak ditemukan
Masalah
Saya mencoba menggunakan Django pada proyek Google App Engine. Namun, saya belum dapat memulai karena server gagal memulai dengan benar karena:
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Saya melakukan penelitian dan semuanya menunjuk pada keharusan menginstal Mysql-python, karena tampaknya itu tidak ada di sistem saya. Saya benar-benar mencoba mencopot pemasangannya dan mendapatkan ini:
Cannot uninstall requirement mysql-python, not installed
Kapan pun saya benar-benar mencoba menginstal melalui:
sudo pip install MySQL-python
Saya mendapatkan kesalahan yang menyatakan:
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Saya sudah mencoba berlari:
export PATH=$PATH:/usr/local/mysql/bin
tetapi sepertinya tidak membantu, karena saya menjalankan perintah instalasi lagi dan masih gagal.
Ada ide?
Harap dicatat saya tidak dalam virtualenv.
EnvironmentError
dan mencetak info debug yang lebih berguna, sepertios.getcwd()
. Anda juga dapat menambahkanpdb.set_trace()
dan mencari tahu.Jawaban:
Oke, baiklah, pertama-tama, izinkan saya memeriksa apakah saya berada di halaman yang sama dengan Anda:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(ataupip3 install mysqlclient
jika menggunakan python 3)Jika Anda melakukan semua langkah tersebut dalam urutan yang sama, dan Anda masih mendapatkan kesalahan, baca terus sampai akhir, jika, bagaimanapun, Anda tidak mengikuti langkah-langkah yang tepat, coba ikuti langkah-langkah tersebut dari awal.
Jadi, Anda mengikuti langkah-langkahnya, dan Anda masih mendapatkan kesalahan, nah, ada beberapa hal yang dapat Anda coba:
Coba lari
which mysql_config
dari bash. Itu mungkin tidak akan ditemukan. Itu sebabnya build juga tidak menemukannya. Coba larilocate mysql_config
dan lihat apakah ada yang kembali. Path ke biner ini harus berada di variabel lingkungan $ PATH shell Anda, atau harus secara eksplisit ada di file setup.py untuk modul dengan asumsi itu mencari di beberapa tempat tertentu untuk file itu.Alih-alih menggunakan MySQL-Python, coba gunakan 'mysql-connector-python', ini dapat diinstal menggunakan
pip install mysql-connector-python
. Informasi lebih lanjut tentang ini dapat ditemukan di sini dan di sini .Temukan lokasi 'mysql / bin', 'mysql_config', dan 'MySQL-Python' secara manual, dan tambahkan semua ini ke variabel lingkungan $ PATH.
Jika semua langkah di atas gagal, maka Anda bisa mencoba menginstal 'mysql' menggunakan MacPorts, dalam hal file 'mysql_config' akan benar-benar disebut 'mysql_config5', dan dalam hal ini, Anda harus melakukan hal ini setelah menginstal:
export PATH=$PATH:/opt/local/lib/mysql5/bin
. Anda dapat menemukan detail selengkapnya di sini .Note1: Saya telah melihat beberapa orang mengatakan bahwa menginstal
python-dev
danlibmysqlclient-dev
juga membantu, namun saya tidak tahu apakah paket ini tersedia di Mac OS.Note2: Juga, pastikan untuk mencoba menjalankan perintah sebagai root.
Saya mendapat jawaban saya dari (selain otak saya) tempat-tempat ini (mungkin Anda bisa melihatnya, untuk melihat apakah itu akan membantu): 1 , 2 , 3 , 4 .
Saya berharap saya membantu, dan akan senang mengetahui apakah semua ini berhasil, atau tidak. Semoga berhasil.
sumber
brew install mysql
memperbaikinya. Juga, perintahwhich mysql-config
ini tidak berhasil untuk saya, tetapiwhich mysql_config
berhasil..bash_profile
file saya :export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
Saya telah men-debug masalah ini selamanya - 3 jam 17 menit. Yang sangat mengganggu saya adalah saya sudah menginstal sql di sistem saya melalui pekerjaan uni sebelumnya tetapi pip / pip3 tidak mengenalinya. Utas di atas dan banyak utas lainnya yang saya jelajahi di internet sangat membantu dalam menghilangkan masalah tetapi tidak benar-benar menyelesaikan masalah.
MENJAWAB
Pip mencari binari mysql di Direktori Homebrew yang terletak relatif ke Macintosh HD @
jadi menurut saya ini mengharuskan Anda melakukan beberapa perubahan
langkah 1: Unduh MySql jika belum melakukannya https://dev.mysql.com/downloads/
Langkah 2: Cari lokasi relatif terhadap Macintosh HD dan cd
Langkah 3: Setelah membuka terminal dan menggunakan editor teks pilihan - saya sendiri adalah seorang neovim jadi saya mengetik (tidak secara otomatis datang dengan Mac ... cerita lain untuk hari lain)
Langkah 4: Anda akan melihat kira-kira baris 112
Mengubah
* Anda akan melihat bahwa file ini memiliki akses hanya-baca jadi jika Anda menggunakan vim atau neovim
Langkah 5: Buka direktori home dan edit file .bash_profile
Kemudian
dan tambahkan
ke file lalu simpan
Langkah 6: relatif terhadap jalur pencarian Macintosh HD dan tambahkan padanya
kemudian
dan tambahkan
* Anda akan kembali melihat bahwa file ini memiliki akses hanya-baca jadi jika Anda menggunakan vim atau neovim
kemudian
kemudian segarkan terminal dengan perubahan Anda dengan menjalankan
Akhirnya
Dan Viola. Ingat itu getaran.
sumber
libs
dalam sayamysql_config
sudah seperti yang dijelaskan di bagian "Ubah ke". Namun, menambahkan PATH untukprivate/etc
membantu memungkinkan penginstalan globalmysqlclient
yang sebelumnya gagal.Jika Anda tidak ingin menginstal mysql lengkap, kita dapat memperbaikinya hanya dengan menginstal mysqlclient.
brew install mysqlclient
Setelah cmd selesai, baris di bawah akan diminta untuk ditambahkan ke~/.bash_profile
:echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
Tutup terminal dan mulai terminal baru dan lanjutkan dengan
pip install mysqlclient
sumber
Saya menjalankan Python 3.6 di MacOS Catalina. Masalah saya adalah saya mencoba menginstal
mysqlclient==1.4.2.post1
dan terus memunculkan mysql_config kesalahan tidak ditemukan.Ini adalah langkah-langkah yang saya ambil untuk mengatasi masalah tersebut.
brew unlink mysql
) -brew install mysql-connector-c
brew info openssl
- ini akan memberi Anda lebih banyak informasi tentang apa yang perlu dilakukan tentang meletakkan openssl di PATHecho 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
sumber
Ini juga terjadi ketika saya menginstal mysqlclient,
Seperti kata pengguna3429036,
sumber
Jawaban ini untuk pengguna MacOS yang tidak menginstal dari
brew
melainkan dari resmi.dmg/.pkg
. Pemasang itu gagal mengedit AndaPATH
, menyebabkan banyak hal keluar dari kotak:mysql
,mysqladmin
,mysql_config
, dll tidak dapat ditemukan, dan sebagai hasilnya:mysqlclient
Yang harus Anda lakukan adalah menambahkan
bin
folder MySQL (biasanya/usr/local/mysql/bin
di AndaPATH
dengan menambahkan baris ini di~/.bash_profile
file Anda :export PATH="/usr/local/mysql/bin/:$PATH"
Anda kemudian harus memuat ulang
~/.bash_profile
agar perubahan diterapkan di sesi Terminal Anda saat ini:source ~/.bash_profile
mysqlclient
Namun, sebelum menginstal , Anda perlu menerima lisensi XcodeBuild:sudo xcodebuild -license
Ikuti petunjuk mereka untuk keluar dari keluarga Anda, setelah itu Anda dapat menginstal
mysqlclient
tanpa masalah:pip install mysqlclient
Setelah menginstal itu, Anda harus melakukan satu hal lagi untuk memperbaiki bug runtime yang dikirimkan bersama MySQL ( Dynamic Library
libmysqlclient.dylib
not found ), dengan menambahkan baris ini ke jalur library dinamis sistem Anda:export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
sumber
sudo lsof -i :3306
untuk melihat PID dari proses MySQL yang aktif dan kemudian menjalankannyasudo -P <pid>
untuk melihat file yang terbuka. Ini datang dengan/usr/local/mysql-8.0.18-macos10.14-x86_64/bin
yang saya tambahkan$PATH
dan voila !Jika Anda telah menginstal mysql menggunakan Homebrew dengan menentukan versi, maka mysql_config akan hadir di sini. - /usr/local/Cellar/[email protected]/5.6.47/bin
Anda dapat menemukan jalur bin sql dengan menggunakan perintah ls di / usr / local / direktori
Tambahkan jalur ke profil bash seperti ini.
sumber
Masalah dalam kasus saya adalah saya menjalankan perintah di dalam lingkungan virtual python dan tidak memiliki jalur ke / usr / local / mysql / bin meskipun saya telah meletakkannya di file .bash_profile. Hanya mengekspor jalur di env virtual yang berhasil untuk saya.
Untuk info Anda sql_config berada di dalam direktori bin.
sumber
Instal brew atau apt-get juga tidak mudah bagi saya jadi saya mendownload mysql melalui: https://dev.mysql.com/downloads/connector/python/ , menginstalnya. Jadi saya dapat menemukan mysql_config di direktori ini: / usr / local / mysql / bin
langkah selanjutnya adalah:
sumber