簡體   English   中英

pip 安裝 mysql-python 失敗並出現 EnvironmentError: mysql_config not found

[英]pip install mysql-python fails with EnvironmentError: mysql_config not found

這是我得到的錯誤

(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

我該怎么做才能解決這個問題?

您的系統上似乎缺少 mysql_config 或安裝程序找不到它。 確保 mysql_config 確實已安裝。

例如,在 Debian\/Ubuntu 上,您必須安裝該軟件包:

sudo apt-get install libmysqlclient-dev

在 Mac OS 中,我只是在終端中運行它來修復:

export PATH=$PATH:/usr/local/mysql/bin
apt-get install libmysqlclient-dev python-dev

似乎成功了。

上述問題可能有各種答案,下面是一個匯總的解決方案。

對於 Ubuntu:

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

如果您在 MAC 上,請全局安裝

brew install mysql

然后像這樣導出路徑

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

比全球范圍內或在你喜歡的任何地方

pip install MySQL-Python

注意:全局用於 python3,因為 Mac 可以同時擁有 python2 和 3

pip3 install MySQL-Python

您可以使用 MySQL 連接器\/Python

通過 PyPip 安裝<\/strong>

pip install mysql-connector-python

對於centos<\/strong>用戶:

然后


如果此解決方案不起作用<\/strong>,則打印 gcc 編譯錯誤,例如:
_mysql.c:29:20: error: Python.h: No such file or directory<\/code>

您需要指定Python.h<\/code>的路徑,如下所示:
pip install --global-option=build_ext --global-option="-I\/usr\/include\/python2.6" MySQL-python<\/code>

我試圖在 Amazon EC2 Linux 實例上安裝mysql-python<\/code> ,我必須安裝這些:

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

對於使用 MariaDB 而不是 MySQL 的任何人,解決方案是安裝libmariadbclient-dev<\/code>包並使用正確名稱創建指向配置文件的符號鏈接。

例如,這對我有用:

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

對於 Linux

這對我有用

yum install python-devel mysql-devel

嘗試sudo apt-get build-dep python-mysqldb<\/code>

"

OSX 小牛隊<\/h3>

由於 osx mavericks 和 xcode 開發工具的變化,您可能會在安裝時遇到錯誤

因此使用:

對於 mariadb 安裝lib mariadb client-dev而不是libmysqlclient-dev

sudo apt-get install libmariadbclient-dev

你應該先安裝mysql<\/code> :

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

我在 Terraform:light 容器中遇到了同樣的問題。 它基於阿爾卑斯山。

在那里你必須安裝 mariadb-dev :

apk add mariadb-dev

但這還不夠,因為還遺漏了所有其他依賴項:

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

有時錯誤取決於實際原因。 我們有一個通過 python-mysqldb debian 包安裝 mysql-python 的案例。

一個不知道這一點的開發人員,不小心運行了pip uninstall mysql-python<\/code> ,然后用pip install mysql-python<\/code>恢復失敗,給出了上述錯誤。

pip uninstall mysql-python<\/code>破壞了 debian 包的內容,當然pip install mysql-python<\/code>失敗了,因為 debian 包不需要任何開發文件。

在這種情況下,正確的解決方案是apt-get install --reinstall python-mysqldb<\/code> ,它將 mysql-python 恢復到其原始狀態。

要遵循的順序。

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 

嘗試在 OS X Server 10.6.8 上安裝時遇到類似問題。 這是我必須做的。 使用:

MySQL-python 1.2.4b4 (source) MySQL-5.6.19 (binary installer) Python 2.7 (binary installer) 注意:安裝在 virtualenv...

解壓源代碼,打開“distribute_setup.py”並編輯 DEFAULT_VERSION 以使用最新版本的分發工具,如下所示:

DEFAULT_VERSION = "0.6.49"

您的 sudo 路徑不知道您的本地路徑...進入超級用戶模式,添加路徑,然后從那里安裝。

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

如果您在虛擬環境中安裝 MySQL-python,您應該檢查 pip 版本,如果版本低於 9.0.1,請更新它

pip install --upgrade pip

在 Mac 上:

brew install mysql-client

寫於 2021 年 8 月 27 日

我的macos版本是BigSur(14.4),mysql版本是mysql8。 似乎在更高版本的 mysql 中,他們刪除了my_config.h<\/code>文件但更改為mysql.h<\/code> 。

所以你們應該運行以下shell:

cd /usr/local/include/mysql
cp mysql.h my_config.h

在 MacOS Mojave 上,mysql_config 位於 \/usr\/local\/bin\/ 而不是 \/usr\/local\/mysql\/bin 如上所述,因此無需向路徑添加任何內容。

"

在我的情況下,當我嘗試更新代碼時,我的數據庫正在容器上運行,而我的燒瓶應用程序正在另一個容器上運行,應用程序因錯誤而崩潰

   Complete output from command python setup.py egg_info:
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-bya8e734/mysqlclient/setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 65, in get_config
    libs = mysql_config("libs")
  File "/tmp/pip-build-bya8e734/mysqlclient/setup_posix.py", line 31, in mysql_config
    raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM