Próbuję uruchomić skrypt w języku Python, który będzie działał na serwerze Linux, z którym jestem połączony za pośrednictwem ssh. Skrypt używa mysqldb. Mam wszystkie inne składniki, których potrzebuję, ale kiedy próbuję zainstalować mySQLdb przez setuptools, takie jak :,
python setup.py install
Otrzymuję następujący raport o błędzie związany z mysql_config
poleceniem.
sh: mysql_config: command not found
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/usr/lib/python2.5/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Czy ktoś napotkał ten błąd, a jeśli tak, to jak go rozwiązać / co mogę zrobić, aby pomyślnie zainstalować mysqldb?
python
linux
ssh
mysql-python
użytkownik904542
źródło
źródło
/usr/bin
jest niewłaściwy,usr/local/my...
widać odpowiedź Thi.Odpowiedzi:
mySQLdb to interfejs Pythona dla mysql, ale nie jest to sam mysql. I najwyraźniej mySQLdb potrzebuje polecenia „mysql_config”, więc musisz go najpierw zainstalować.
Czy możesz potwierdzić, że sam zainstalowałeś mysql, uruchamiając „mysql” z powłoki? Powinno to dać odpowiedź inną niż „mysql: polecenie nie znaleziono”.
Jakiej dystrybucji linux używasz? MySQL jest wstępnie zapakowany dla większości dystrybucji Linuksa. Na przykład dla debian / ubuntu instalacja mysql jest tak łatwa jak
mysql-config znajduje się w innym pakiecie, z którego można zainstalować (ponownie przy założeniu debian / ubuntu):
jeśli używasz mariadb, upuść zamiast mysql, a następnie uruchom
Odniesienie: https://github.com/JudgeGirl/Judge-sender/issues/4#issuecomment-186542797
źródło
sudo apt-get install mysql-server
isudo apt-get install mysql-client
Instalowałem
python-mysql
na Ubuntu 12.04 za pomocąNajpierw miałem ten sam problem:
To zadziałało dla mnie
Potem miałem ten problem:
Potem spróbowałem
A potem byłem szczęśliwy :)
źródło
(Dotyczy Mac OS X)
Próbowałem wielu rzeczy, ale ten zestaw poleceń w końcu zadziałał dla mnie.
mysql
brew unlink mysql
brew install mysql-connector-c
mkdir /usr/local/Cellar/lib/
brew reinstall openssl
( źródło )Aktualizacja: jeśli to nie zadziała, @vinyll sugeruje uruchomienie
brew link mysql
przed krokiem 8.źródło
brew info mysql
aby uzyskać rzeczywistą / poprawną ścieżkę do instalacji mysql. Następnie, abyPATH
zmiana pozostała niezmienna, wykonajexport PATH..
~ w swoim ~ / .bash_profile.brew link --overwrite mysql-connector-c
pracami na moim komputerze Macbrew link mysql
przed krokiem 8, aby go uruchomić.W Red Hat musiałem to zrobić
Potem zadziałało.
źródło
yum install MySQL-python
MySQL-python
jako pakiet Pythona lub korzystania virtualenv, to może pomóc:yum install mysql-devel; venv/bin/pip install MySQL-python
.sudo yum install mariadb-devel
najpierw, a następnie możesz zainstalować mysqlclient przezpip install mysqlclient
yum install mysql-devel
Centos 8Poniższe działało dla mnie na Ubuntu 12.04 LTS:
Mimo, że zadziałało, nadal wykonałem następujące czynności:
źródło
Wystąpił ten sam błąd podczas próby instalacji
mysql-python
.Tak to naprawiłem.
Problem polegał na tym, że instalator nie mógł znaleźć mysql_config w domyślnej ścieżce. Teraz może .. i działało ..
Mam nadzieję że to pomoże.
Dzięki.
źródło
Rozwiązałem ten problem, wykonując następujące czynności:
źródło
default-libmysqlclient-dev
, ponieważ zwykłylibmysqlclient-dev
pakiet nie ma kandydata do instalacji.Może brakować komend (także mysql) mPATH.
export PATH=$PATH:/usr/local/mysql/bin/
źródło
Krok 1: - Zainstaluj oba Python3 i Python3-dev
Krok 2: - Zainstaluj łącznik Python i Mysql
krok 3: - Zainstaluj klienta Python MySQL
To rozwiąże twój problem
źródło
Jeśli korzystasz z systemu macOS i już zainstalowałeś [email protected] przez brew install:
brew install mysql-connector-c
brew unlink [email protected]
brew link --overwrite --dry-run [email protected]
po pierwsze, aby zobaczyć, które dowiązania symboliczne są zastępowanebrew link --overwrite --force [email protected]
aby faktycznie zastąpić dowiązania symboliczne związane z mysql [email protected]pip install mysqlclient
źródło
Naprawiłem to, instalując libmysqlclient:
źródło
MySQL-python
Pakiet jest za pomocąmysql_config
polecenia, aby dowiedzieć się omysql
konfiguracji na Twoim komputerze. Twój host nie mamysql_config
polecenia.Pakiet bibliotek programistycznych MySQL (MySQL-devel-xxx) z dev.mysql.com udostępnia tę komendę i biblioteki wymagane przez pakiet MySQL-python. Te
MySQL-devel
pakiety znajdują się w pliku - obszar serwerów społeczności. Nazwy pakietów bibliotek programistycznych MySQL zaczynają sięMySQL-devel
od wersji MySQL i platformy Linux (w zależności od wersji) (npMySQL-devel-5.5.24-1.linux2.6.x86_64.rpm
.)Pamiętaj, że nie musisz instalować serwera mysql.
źródło
Pakiet libmysqlclient-dev jest przestarzały, więc użyj go poniżej, aby go naprawić.
Pakiet libmysqlclient-dev nie jest dostępny, ale odwołuje się do niego inny pakiet. Może to oznaczać, że brakuje pakietu, został on przestarzały lub jest dostępny tylko z innego źródła
źródło
W centos 7 to działa dla mnie:
źródło
Na moim komputerze Fedora 23 musiałem uruchomić następujące:
źródło
W przypadku systemu Alpine Linux:
$ apk add mariadb-dev mariadb-client mariadb-libs
MariaDB to drop-in zamiennik MySQL i stał się nowym standardem od Alpine 3.2. Zobacz https://bugs.alpinelinux.org/issues/4264
źródło
Myślę, że następujące wiersze można wykonać na terminalu
Ten katalog mysql_config jest przeznaczony dla serwera Zend na MacOSx. Możesz to zrobić dla Linuksa, jak następujące linie
Jest to domyślny katalog mysql dla systemu Linux.
źródło
Miałem te problemy i rozwiązałem, jeśli dodając dowiązanie symboliczne do
mysql_config
.Zainstalowałem mysql z homebrew i zobaczyłem to na wyjściu.
W zależności od tego, jak
mysql
je dostaniesz , będzie w różnych miejscach. W moim przypadku/usr/local/Cellar/mysql
Kiedy już wiesz, gdzie to jest, powinieneś mieć symboliczny link do tego, gdzie python go szuka.
/usr/local/mysql
To zadziałało dla mnie.
źródło
Miałem ten sam problem. Rozwiązałem go, wykonując ten samouczek, aby zainstalować Python z python3-dev na Ubuntu 16.04:
A teraz możesz skonfigurować środowisko wirtualne:
źródło
Musisz zainstalować pakiet python-dev:
źródło
sudo apt-get install python-mysqldb
Python 2.5? Wygląda na to, że używasz bardzo starej wersji Ubuntu Server (Hardy 8.04?) - potwierdź, której wersji systemu Linux używa serwer.
wyszukiwanie w python-mysql w bazie danych pakietów ubuntu
Niektóre dodatkowe informacje:
Z README mysql-python -
Red Hat Linux .............
Python MySQL jest wstępnie pakowany w Red Hat Linux 7.x i nowszych. Dotyczy to Fedory Core i Red Hat Enterprise Linux. Możesz także zbudować własne pakiety RPM, jak opisano powyżej.
Debian GNU / Linux ................
Pakowane jako
python-mysqldb
_ ::Lub użyj Synaptic.
.. _
python-mysqldb
: http://packages.debian.org/python-mysqldbUbuntu ......
Taki sam jak w Debianie.
Przypis: Jeśli naprawdę korzystasz z dystrybucji serwerów starszej niż Ubuntu 10.04, oznacza to, że nie masz oficjalnego wsparcia i powinieneś zaktualizować ją wcześniej niż później.
źródło
Ta metoda jest przeznaczona tylko dla tych, którzy wiedzą, że Mysql jest zainstalowany, ale nadal nie można znaleźć mysql_config. Dzieje się tak, jeśli instalacja Pythona nie może znaleźć mysql_config w ścieżce systemowej, co dzieje się głównie, jeśli wykonałeś instalację za pomocą pakietu Mac .dmg lub zainstalowałeś w niestandardowej ścieżce. Najłatwiejszym i udokumentowanym sposobem MySqlDB jest zmiana site.cfg . Znajdź mysql_config, który prawdopodobnie znajduje się w / usr / local / mysql / bin / i zmień zmienną mianowicie mysql_config tak jak poniżej i ponownie uruchom instalację. Nie zapomnij cofnąć komentarza, usuwając „#”
Zmień poniżej linii
do
w zależności od ścieżki w twoim systemie.
Przy okazji użyłem instalacji Pythona po zmianie site.cfg
sudo /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install
źródło
Jak dotąd wszystkie rozwiązania (Linux) wymagają
sudo
zainstalowania lub praw root. Oto rozwiązanie, jeśli nie masz praw roota i bez niegosudo
. (niesudo apt install ...
):dpkg -x libmysqlclient-dev_<version tag>.deb .
Spowoduje to wyodrębnienie folderu o nazwieusr
.Symlink
./usr/bin/mysql_config
do miejsca, które znajduje się na twoim$PATH
:ln -s
`pwd`
/usr/bin/mysql_config FOLDER_IN_YOUR_PATH
Powinien być teraz w stanie znaleźć
mysql_config
Testowane na Ubuntu 18.04.
źródło
W przypadku systemu macOS Mojave wymagana była dodatkowa konfiguracja, aby kompilatory mogły znaleźć openssl , konieczne może być ustawienie:
źródło
Myślę, że najwygodniejszym sposobem rozwiązania tego problemu w 2020 r. Jest użycie innego pakietu python. Nie potrzebujemy instalować żadnego innego oprogramowania binarnego.
Spróbuj tego
pip install mysql-connector-python
i wtedy
źródło
Napotkałem ten sam problem, po prostu dodałem ścieżkę, w której * mysql_config * rezydował do zmiennej środowiskowej PATH i zadziałało to dla mnie.
źródło
sudo apt-get build-dep python-mysqldb
zainstaluje wszystkie zależności, aby zbudować pakiet z PIP / easy_installźródło
Rzeczywisty błąd to
a jeśli nie możesz zainstalować pakietów python-dev lub python-devel, możesz pobrać archiwum z potrzebną wersją źródeł python ze strony http://hg.python.org/ i umieścić pliki nagłówków w odpowiednim folderze w celu dołączenia
źródło
Po prostu wpisz:
To rozwiąże te problemy.
źródło
sudo apt-get install libmysqlclient-dev
W CentOS 7 należy wykonać następujące czynności:
źródło