pip install mysql-python nie działa z EnvironmentError: MySQL Config not found

To jest błąd, który otrzymuję

(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
Jak mogę to rozwiązać?
Author: d3vid, 2011-03-03

18 answers

Wygląda na to, że brakuje mysql_config w Twoim systemie lub instalator nie może go znaleźć. Upewnij się, że mysql_config jest naprawdę zainstalowany.

Na przykład na Debianie/Ubuntu musisz zainstalować pakiet:

sudo apt-get install libmysqlclient-dev

Być może mysql_config nie znajduje się w twojej ścieżce, będzie tak w przypadku kompilacji samodzielnie pakiet mysql.

Aktualizacja: dla najnowszych wersji Debiana / ubuntu (stan na 2018) jest to

sudo apt install default-libmysqlclient-dev
 1162
Author: Fbo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-04 16:05:33

Uruchamiając Mac OSX Mountain Lion, po prostu uruchomiłem to w Terminalu, aby naprawić:

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

Jest to najszybsza poprawka, jaką znalazłem-dodaje ją do ścieżki, ale myślę, że lepiej będzie dodać ją na stałe (np. dodać do /etc/paths), jeśli planujesz zainstalować MySQL-python w innym środowisku.

 263
Author: Chris Villa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-10 09:47:25
apt-get install libmysqlclient-dev python-dev
Chyba zadziałało.
 93
Author: steve-gregory,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-04 06:51:35

Mogą być różne odpowiedzi na powyższy problem, poniżej jest zbiorcze rozwiązanie.

Dla Ubuntu:

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

Dla CentOS:

$ yum install python-devel mysql-devel
 72
Author: user2886440,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-15 10:27:24

Możesz użyć złącza MySQL / Python

Instalacja przez PyPip

pip install mysql-connector-python

Więcej informacji można znaleźć na blogu MySQL Connector/Python 1.0.5 beta announcement .

Na Launchpad znajduje się dobry przykład dodawania, edytowania i usuwania danych za pomocą biblioteki.

 20
Author: Voles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-11 12:05:19

Dla centos użytkowników:

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

Then

pip install MySQL-python


Jeśli to rozwiązanie nie działa i wyświetla błąd kompilacji gcc jak:
_mysql.c:29:20: error: Python.h: No such file or directory

Musisz podać ścieżkę Python.h, w ten sposób:
pip install --global-option=build_ext --global-option="-I/usr/include/python2.6" MySQL-python

 20
Author: lancerex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-04 07:51:20

Jeśli korzystasz z komputera MAC Install this globally

brew install mysql

Następnie Eksportuj ścieżkę w ten sposób

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

W końcu globalnie lub w Twoim venv

pip install MySQL-Python
 17
Author: Zaman Afzal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-14 09:59:36

Próbowałem zainstalować mysql-python Na instancji Amazon EC2 Linux i musiałem zainstalować te :

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

Ale potem dostałem ten błąd:

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

Więc zainstalowałem:

yum install python-devel
I to załatwiło sprawę.
 16
Author: Emil Davtyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-25 21:45:35

OSX Mavericks

Ze względu na zmiany w narzędziach programistycznych osx mavericks i xcode może pojawić się błąd podczas instalacji

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

Dlatego użyj:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install mysql-python
 5
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-19 18:36:00

Dla każdego, kto używa MariaDB zamiast MySQL, rozwiązaniem jest zainstalowanie pakietu libmariadbclient-dev i utworzenie dowiązania symbolicznego do pliku konfiguracyjnego o prawidłowej nazwie.

Na przykład to działało dla mnie:

ln -s /usr/bin/mariadb_config /usr/bin/mysql_config
 5
Author: Chirila Alexandru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-19 12:44:58

Try sudo apt-get build-dep python-mysqldb

 4
Author: KalamHavij,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-24 20:15:37

Dla mariadb install lib mariadb client-dev zamiast libmysqlclient-dev

sudo apt-get install libmariadbclient-dev
 2
Author: Dinesh Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-14 07:30:04

Czasami błąd zależy od rzeczywistej przyczyny. mieliśmy przypadek, w którym mysql-python został zainstalowany przez pakiet Debiana python-mysqldb.

Programista, który tego nie wiedział, przypadkowo uruchomił pip uninstall mysql-python, a następnie nie udało się odzyskać z pip install mysql-python podając powyższy błąd.

pip uninstall mysql-python zniszczył Zawartość pakietu Debiana i oczywiście pip install mysql-python nie powiódł się, ponieważ pakiet Debiana nie potrzebował żadnych plików dev.

Poprawnym rozwiązaniem w tym przypadku było apt-get install --reinstall python-mysqldb, które przywróciło mysql-python do stanu pierwotnego.

 1
Author: eMBee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-29 14:31:28

Powinieneś najpierw zainstalować mysql:

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

Następnie możesz zainstalować mysqlclient:

pip install  mysqlclient
 1
Author: aircraft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-29 01:11:43

Miał podobny problem podczas próby instalacji na OS X Server 10.6.8. Oto, co musiałem zrobić. Użycie:

MySQL-python 1.2. 4B4 (source) MySQL-5.6.19 (instalator binarny) Python 2.7 (instalator binarny) Uwaga: instalacja w virtualenv...

Rozpakuj źródło, otwórz "distribute_setup.py' i edytuj DEFAULT_VERSION, aby używać najnowszej wersji narzędzi distribute, jak TAK:

DEFAULT_VERSION = "0.6.49"

Zapisz. Otwórz stronę.plik cfg i odkomentuj ścieżkę do mysql_config tak aby wyglądało to jak (odwołaj się do swojego własna ścieżka do mysql_config):

# 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

Teraz clean, build and make nie zawiedzie z błędem' mysql_config ' not found. Mam nadzieję, że to pomoże komuś, kto próbuje wykorzystać swoje stare xserwery: -)

 0
Author: Brad Herdson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-05 15:20:16

Twoja ścieżka sudo nie wie o twojej ścieżce lokalnej... przejdź do trybu superuser, Dodaj ścieżkę i zainstaluj ją stamtąd.

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

A Ty działasz na OSX. Teraz masz zaktualizowany globalny python.

 0
Author: Paul Kenjora,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-17 17:07:20

Jeśli instalujesz MySQL-python w wirtualnym env, powinieneś sprawdzić wersję pip, jeśli wersja jest starsza niż 9.0.1, zaktualizuj ją

pip install --upgrade pip
 0
Author: Albert Chen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-21 11:30:12

Miałem ten sam problem w Terraform: light container. Opiera się na Alpach.

Tam musisz zainstalować mariadb-dev za pomocą:

apk add mariadb-dev

Ale to nie wystarczy, ponieważ brakuje również wszystkich innych zależności:

apk add python2 py2-pip gcc python2-dev musl-dev
 0
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-11 10:34:46