pip install mysql-python EnvironmentError ile başarısız oluyor: mysql_config bulunamadı


823

Aldığım hata bu

(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log
(mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python
Downloading/unpacking mysql-python
  Running setup.py egg_info for package mysql-python
    sh: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 24, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: mysql_config: not found

Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.py", line 15, in <module>

    metadata, options = get_config()

  File "setup_posix.py", line 43, in get_config

    libs = mysql_config("libs_r")

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /home/zjm1126/.pip/pip.log

Bunu çözmek için ne yapabilirim?


1
Bu konuya bakın: [mysql_config mysqldb python arabirimi yüklenirken bulunamadı] [1] benim için çalıştı :) [1]: stackoverflow.com/questions/7475223/…
Staccato

Ben bu sorunu çözmek Mac OS kullanıcı değilim katiyen bu soru stackoverflow.com/questions/50940302/...
Patricios

Yanıtlar:


1397

Sisteminizde mysql_config eksik ya da yükleyici bulamadı. Mysql_config uygulamasının gerçekten kurulu olduğundan emin olun.

Örneğin Debian / Ubuntu üzerinde paketi kurmalısınız:

sudo apt-get install libmysqlclient-dev

Belki mysql_config sizin yolunuzda değil, kendi başınıza mysql paketini derlediğinizde bu olacaktır.

Güncelleme: debian / ubuntu'nun (2018 itibariyle) son sürümleri için

sudo apt install default-libmysqlclient-dev

24
Bu hala benim için bir hata yarattı. Onun apt-get install python-mysqldbyerine kullandım .
Jonatan Littke

51
benim 2c deneyim: benim sudo apt-get install libmysqlclient-deviçin çalıştı, sudo apt-get install python-mysqldbyardımcı olmadı
Anentropic

20
@JonatanLittke Küresel bir python-mysqldb türü kurmak virtualenv IMO noktasına ters gider.
Mart'ta fncomp

42
Mariadb sudo apt-get install libmariadbclient-deviçin hile yaptı.
yuvilio

11
Bu çözümler sizin için işe yaramazsa, yine de python- apt-get install python-dev
dev'i

295

Mac OS'de bunu düzeltmek için terminalde çalıştırdım:

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

Bu bulduğum en hızlı düzeltme - yola ekler, ancak /etc/pathsMySQL-python'u başka bir ortama kurmayı planlıyorsanız, kalıcı olarak eklemeyi (yani eklemek ) daha iyi olduğunu düşünüyorum .

(OSX Mountain Lion'da test edildi)


6
Eğer kullanıyorsanız bitnami en Mamp yığını kullanımını export PATH=$PATH:/Applications/mampstack-5.3.17-0/mysql/binkullandığınız takdirde bu ticari MAMP yığını bunun kaldırma, diğer taraftan, ve bok ve MySQL başlıklarını içermediği için bitnami biri olsun.
Timmmm

3
Yolu kalıcı hale getirmek için altına ekleyin /etc/paths- yeni yola erişmek için yeni bir terminal penceresi açmanız gerekir.
rojoca

@Timmmm Tüm Veritabanlarımın resmi sürümünde olduğu için oldukça pahalı bir çözüm: / Bunu çözmenin başka bir yolu var mı?
Volatil3

1
Çok yararlı. XAMPP kullanıyorsanız, şu şekilde kullanınexport PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
Kevin London

10
Bu sonunda teşekkürler! ayrıca mysqlkurulmamışsa, brew install mysqlkonumun bulunduğu yeri kullanın /usr/local/bin/mysql(veya işaretlenmemişse /usr/local/Cellar/mysql/VERSION/bin/).
Aziz Alto

102
apt-get install libmysqlclient-dev python-dev

Hile yapmak gibiydi.


2
evet, benim için sadece libmysqlclient-dev yeterli değildi, python-dev de eksikti.
Anderson Santos

Ubuntu 12.04 (hassas) (32-Bit) 'de 10.04'ten (lucid) yerinde yükseltmeden sonra sadece bu bu hataları çözdü. Özellikle ek "python-dev"!
Buz

Benim için de çalıştı - python-dev bulmacanın son parçasıydı. Zaten python-mysqldb kurulmuştu, bu yüzden kesinlikle gerekli olan her şey bu değil.
Tim

Güncelleme: Python3 için kurmanız gerekiyor python3-dev.
cezar

gccBaşarılı bir kurulum için bunu yapmam ve yüklemem gerekiyordu. Ayrıca, yapmamak için en iyisi python-devgibi özel versiyonunu, ancak belirtmek python2.7-dev, python3.6-devvb
Tim Tisdall

89

Yukarıdaki sorun için çeşitli cevaplar olabilir, aşağıda toplu bir çözümdür.

Ubuntu için:

$ sudo apt update
$ sudo apt install python-dev
$ sudo apt install python-MySQLdb

CentOS için:

$ yum install python-devel mysql-devel

Centos ipucu için teşekkürler. Bunu bütün sabah kovaladım.
Pete Magsig

Belki de eklemeye değer python3-dev/python3-devel
Gergely M

36

MAC kullanıyorsanız Küresel olarak yükleyin

brew install mysql

sonra yolu şu şekilde dışa aktarın

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

Küreselden veya venv'ınızdan ne istersen

pip install MySQL-Python

Not: Mac'te hem python2 hem de 3 olabileceğinden global olarak python3 için

pip3 install MySQL-Python

34

MySQL Bağlayıcısı / Python'u kullanabilirsiniz

PyPip ile kurulum

pip install mysql-connector-python

Daha fazla bilgi MySQL Connector / Python 1.0.5 beta duyurusunda bulunabilir blogunda bulunabilir.

Launchpad'de kitaplığa veri ekleme, düzenleme veya kaldırma konusunda iyi bir örnek vardır .


3
Benim mysqldb ve eksik mysql_config karışıklık vazgeçtiğinde benim için çalışan tek şey budur. Benim amacım için iyi çalışıyor.
wh1tney

@wjoba daha fazla açıklayabilir misiniz? Ben yüklemek py-mysql2pgsqlve mysql_config şey hata bulma. MAMP kullanıyorum. Mysqk bağlayıcısı ne işe yarar?
Volatil3

1
@ Volatil3 mysql-connector-python benim için mysql-python için hazır bir yedek olarak iyi çalıştı. Eski pip aracılığıyla kurmak hiçbir sorun ile çalıştı ve mysql_config hata kurtulmak (dev kendi sözleriyle) mysql bağlayıcı "saf Python ve başka bir MySQL yazılımı, bu nedenle C kütüphaneleri ve derleme gerekmez." Umarım yardımcı olur. Bu çözümde belirtilen yüklemeyi deneyin ve hatayla hala karşılaşıp karşılaşmadığınızı görün.
wh1tney

Ubuntu 14/4'te alıyorum: Gereksinimi karşılayan herhangi bir indirme bulunamadı mysql-connector-python
Timo

Bu komut her şeyi denedikten sonra benim için çalıştı.
Saatler

27

İçin centos kullanıcılar:

yum install -y mysql-devel python-devel python-setuptools

sonra

pip install MySQL-python


Bu çözüm işe yaramazsa ve yazdırma gcc derleme hatası aşağıdaki gibi:
_mysql.c:29:20: error: Python.h: No such file or directory

Bunun yolunu belirtmeniz gerekir Python.h:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python


1
Bu, Python ikili dosyası için yüklenen doğru içerme dosyalarına sahip değilmişsiniz gibi geliyor pip. Python normalde içerme konumunu sağlar; yolu büyük olasılıkla manuel olarak belirtmek yanlış sürüme işaret ediyor .
Martijn Pieters

sudo pip install MySQL-pythonBir hata nedeniyle yapmak zorunda kaldım :copying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> /usr/lib64/python2.7/site-packages error: /usr/lib64/python2.7/site-packages/_mysql_exceptions.py: Permission denied
bennythejudge

18

mysql-pythonBir Amazon EC2 Linux örneğine yüklemeye çalışıyordum ve bunları yüklemem gerekiyordu:

yum install mysql mysql-devel mysql-common mysql-libs gcc

Ama sonra bu hatayı aldım:

_mysql.c:29:20: fatal error: Python.h: No such file or directory

Bu yüzden kurdum:

yum install python-devel

Ve bu hile yaptı.


1
Ben kullandım: sudo yum install mysql mysql-devel mysql-common mysql-libs gcc sanal arayüzümün dışında. Sonra sanal ortamma geri döndüm ve koştum pip install mysql-pythonve işe yaradı.
tandy

1
dnf install mysql-devel gccbenim için yeterliydi, gerisine bağlı
Jens Timmerman

python-develŞimdi hata verecektir, python 2.7 kullanıyorsanız bunu deneyinpython27-devel
Cızırtılı Kod

8

MySQL yerine MariaDB kullanan herkes için çözüm libmariadbclient-devpaketi kurmak ve doğru ada sahip yapılandırma dosyasına sembolik bir bağlantı oluşturmaktır.

Örneğin bu benim için çalıştı:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config

2
Bu, belirli bir bilinen veritabanı soketine bağlanmak istediği her durumda faydalı olan takdir edilmemiş bir cevaptır. Tek başına bir mysql veritabanına bağlanmama yardımcı oldu. Buradaki çoğu çözüm msql istemcisini yeniden yüklemenizi (veya ikinci veya üçüncü ... vb.) Yüklemenizi önerir!
7yl4r


6

OS X Mavericks

Osx mavericks & xcode geliştirme araçlarındaki değişiklikler nedeniyle kurulum hatası alabilirsiniz

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

bu nedenle şunları kullanın:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python

6

Linux için

bu benim için çalışıyor

yum install python-devel mysql-devel

5

mariadb için libmysqlclient-dev yerine lib mariadb client-dev yükleyin

sudo apt-get install libmariadbclient-dev

MariaDB ile Debian 9 Stretch kullanırken ihtiyacım olan şey
anhtran

4

İlkini yüklemelisiniz mysql:

yum install python-devel mysql-community-devel -y

Sonra yükleyebilirsiniz mysqlclient:

pip install  mysqlclient

2

bazen hata asıl nedene bağlıdır. mysql-python'un python-mysqldb debian paketiyle kurulduğu bir vakamız vardı.

bunu bilmeyen bir geliştirici yanlışlıkla koştu pip uninstall mysql-pythonve sonra pip install mysql-pythonyukarıdaki hatayı vererek kurtarılamadı .

pip uninstall mysql-pythondebian paket içeriğini yok etmişti ve elbette pip install mysql-pythonbaşarısız oldu çünkü debian paketinin herhangi bir dev dosyasına ihtiyacı yoktu.

bu durumda doğru çözüm apt-get install --reinstall python-mysqldbmysql-python'u orijinal durumuna geri yükleyen çözümdür .


2

Aynı problemi Terraform: hafif kapta da yaşadım. Alpine dayanmaktadır.

Orada mariadb-dev yüklemeniz gerekir:

apk add mariadb-dev

Ancak bu yeterli değildir, çünkü diğer tüm bağımlılıklar da kaçırılır:

apk add python2 py2-pip gcc python2-dev musl-dev

2

İzlenecek sıra.

pip install mysqlclient
sudo apt-get install python3-dev libmysqlclient-dev
pip install configparser 
sudo cp /usr/lib/python3.6/configparser.py /usr/lib/python3.6/ConfigParser.py 

Ardından MYSQL-python'u tekrar yüklemeyi deneyin. Benim için çalıştı


1

OS X Server 10.6.8'e yüklenmeye çalışırken benzer bir sorun vardı. İşte yapmam gereken şey. Kullanımı:

MySQL-python 1.2.4b4 (kaynak) MySQL-5.6.19 (ikili yükleyici) Python 2.7 (ikili yükleyici) NOT: Sanal kurulum ...

Kaynağı açın, 'dağıtım_setup.py' dosyasını açın ve dağıtım araçlarının en son sürümünü kullanmak için DEFAULT_VERSION düzenleyin:

DEFAULT_VERSION = "0.6.49"

Kayıt etmek. 'Site.cfg' dosyasını açın ve mysql_config dosyasının yolunu açın, böylece şuna benzer (mysql_config için kendi yolunuza bakın):

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/local/mysql/bin/mysql_config

Şimdi temiz, inşa ve yapmak 'mysql_config' bulunamadı hatası ile başarısız olmaz. Bu eski xserves yararlanmak için başka birine yardımcı olur umut :-)


1

Sudo yolunuz yerel yolunuzu bilmiyor ... süper kullanıcı moduna geçin, yolu ekleyin ve oradan yükleyin.

sudo su
export PATH=$PATH:/usr/local/mysql/bin/
pip install mysql-python
exit

Ve OSX'te hazırsınız. Şimdi güncellenmiş bir global python'unuz var.



0

MacOS Mojave'de mysql_config, yukarıda belirtildiği gibi / usr / local / mysql / bin yerine / usr / local / bin / konumunda bulunur, bu nedenle yola hiçbir şey eklemenize gerek yoktur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.