Python中最鏈接Mysql經常使用的驅動是html
mysql-python :mysql的C語言的驅動 mysql-connector:msql官方的驅動 pymysql:python語言的驅動
我這裏安裝的是 mysql-pythonpython
終端中執行mysql
pip install mysql-python
運氣好的的話,直接就成功了,我遇到了一下問題,最終找到了解決方案,緣由及解決方案以下,供參考linux
終端打印出:sql
Collecting mysql-python Downloading MySQL-python-1.2.5.zip (108kB) 100% |████████████████████████████████| 110kB 30kB/s Complete output from command python setup.py egg_info: sh: mysql_config: command not found Traceback (most recent call last): File "<string>", line 20, in <module> File "/private/tmp/pip-build-NP8J3v/mysql-python/ setup.py", line 17, 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 25, 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 in /private/tmp/pip-build-NP8J3v/mysql-python
解決方法,執行:vim
ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
緣由
找不到mysql_config通常是因爲經過lnmp.org或者其餘方式安裝mysql之後mysql_config是在/usr/local/mysql/bin/裏面,這裏面的文件不是在任意位置均可以訪問的,而指令是segmentfault
將mysql_config連接到/usr/local/bin目錄下api
參考一條命令解決mysql_config not foundbash
出錯信息爲:python2.7
Traceback (most recent call last): File "manage.py", line 4, in <module> from models import User File "/Users/tengfei/PycharmProjects/mysql/models.py", line 1, in <module> import MySQLdb File "/Library/Python/2.7/site-packages/MySQLdb/__init__.py", line 19, in <module> import _mysql ImportError: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/_mysql.so Reason: image not found
解決:
pip install --upgrade pip
修改 OS X 環境變量:打開終端,在終端中使用 vim 打開 「~/.bash_profile」,若是沒有安裝 vim,那就顯示隱藏文件用文本編輯器打開,具體操做這裏就不復述了。在 .bash_profile 中添加如下內容
PATH="/usr/local/mysql/bin:${PATH}" export PATH export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ export VERSIONER_PYTHON_PREFER_64_BIT=no export VERSIONER_PYTHON_PREFER_32_BIT=yes
其中 VERSIONER_PYTHON_PREFER_64_BIT 和 VERSIONER_PYTHON_PREFER_64_BIT 根據本身安裝的 MySQL 進行選擇。
參考:
MySQLdb(即 MySQL-python 包)在 OS X 中安裝指南
Solving Library not loaded: libmysqlclient.18.dylib when importing MySQLdb on Lion
Mac OS + MySQL-python-1.2.3: ImportError | Library not loaded | libmysqlclient.16.dylib
執行pip install mysql-python後的出錯信息以下:
這是在虛擬環境中見到的
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
---------------------------------------- Command "/home/tengfei/api01/test/TestTo/TODO-orm/venv/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-w6mp1W/mysql-python/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-jG7EKf-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/tengfei/api01/test/TestTo/TODO-orm/venv/include/site/python2.7/mysql-python" failed with error code 1 in /tmp/pip-build-w6mp1W/mysql-python/
緣由是:一些依賴包沒有安裝,注意這也是不少實用pip執行安裝擴展的時候,常見的錯誤
apt-get build-dep python-lxml sudo pip install lxml --upgrade pip install mysql-python