python下的MysqlDB包的安装详解

首先,请安装mysql

sudo apt-get install mysql

期间,需要设置root 密码


下载mysql-python: http://sourceforge.net/projects/mysql-python/?source=dlp

解压: tar  zxvf  MySQL-python-1.2.4b4.tar.gz

进到该目录: cd MySQL-python-1.2.4b4

执行安装脚本:  python setup.py build 

                              python setup.py install  


这个时候就会出现问题了:

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

根据提示可知,mysql_config 找不到!!!!

网友解决思路如下:

  • vi site.cfg 
  • 把 mysql_config = /usr/local/mysql/bin/mysql_config 这一行前的#去掉,并且把mysql_config的路径设置正确。 
  • python setup.py build 
  • sudo python setup.py install
  • 但是我的系统中根本就找不到mysql_config 文件,原因是该文件是通过安装另外一个包才能安装到系统中的

    另一位牛人回复到:

    mysql-config is in a different package, which can be installed from (again, assuming debian / ubuntu):

    sudo apt-get install libmysqlclient-dev

    好了,终于找到原因了,于是安装包libmysqlclient-dev

    然后查看mysql_config 文件的安装目录是/usr/bin/mysql_config

    于是可以按照以下几种方案解决:

    1, 创建链接 sudo ln -s /usr/local/mysql/bin/mysql_config   /usr/bin/mysql_config   (前者是你的site.cfg中的mysql_config文件路径,后者是实际路径)

    2, add /usr/local/mysql/bin/ to your path

    3, 修改 site.cfg 文件: mysql_config = /usr/bin/mysql_config,记得要将这条语句之前的#去掉


    OK,问题基本解决,此时执行一下 python setup.py build 和 sudo python setup.py install, 结果如下:

    yuxin@ubuntu:~/Downloads/MySQL-python-1.2.4b4$ python setup.py build
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    copying _mysql_exceptions.py -> build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/converters.py -> build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/connections.py -> build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/cursors.py -> build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
    copying MySQLdb/times.py -> build/lib.linux-x86_64-2.7/MySQLdb
    creating build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
    running build_ext
    building '_mysql' extension
    creating build/temp.linux-x86_64-2.7
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.2.4b4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g
    In file included from _mysql.c:44:0:
    /usr/include/mysql/my_config.h:422:0: warning: "HAVE_WCSCOLL" redefined [enabled by default]
    /usr/include/python2.7/pyconfig.h:890:0: note: this is the location of the previous definition
    gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r -lpthread -lz -lm -lrt -ldl -o build/lib.linux-x86_64-2.7/_mysql.so
    yuxin@ubuntu:~/Downloads/MySQL-python-1.2.4b4$ sudo python setup.py install
    [sudo] password for yuxin:
    running install
    Checking .pth file support in /usr/local/lib/python2.7/dist-packages/
    /usr/bin/python -E -c pass
    TEST PASSED: /usr/local/lib/python2.7/dist-packages/ appears to support .pth files
    running bdist_egg
    running egg_info
    writing MySQL_python.egg-info/PKG-INFO
    writing top-level names to MySQL_python.egg-info/top_level.txt
    writing dependency_links to MySQL_python.egg-info/dependency_links.txt
    reading manifest file 'MySQL_python.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'MySQL_python.egg-info/SOURCES.txt'
    installing library code to build/bdist.linux-x86_64/egg
    running install_lib
    running build_py
    copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
    running build_ext
    creating build/bdist.linux-x86_64
    creating build/bdist.linux-x86_64/egg
    copying build/lib.linux-x86_64-2.7/_mysql.so -> build/bdist.linux-x86_64/egg
    creating build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/MySQLdb/times.py -> build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/MySQLdb/__init__.py -> build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/MySQLdb/cursors.py -> build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/MySQLdb/connections.py -> build/bdist.linux-x86_64/egg/MySQLdb
    creating build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/CLIENT.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/__init__.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/CR.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/FLAG.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/FIELD_TYPE.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/ER.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/constants/REFRESH.py -> build/bdist.linux-x86_64/egg/MySQLdb/constants
    copying build/lib.linux-x86_64-2.7/MySQLdb/release.py -> build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/MySQLdb/converters.py -> build/bdist.linux-x86_64/egg/MySQLdb
    copying build/lib.linux-x86_64-2.7/_mysql_exceptions.py -> build/bdist.linux-x86_64/egg
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/times.py to times.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/__init__.py to __init__.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/cursors.py to cursors.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/connections.py to connections.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/CLIENT.py to CLIENT.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/__init__.py to __init__.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/CR.py to CR.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/FLAG.py to FLAG.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/FIELD_TYPE.py to FIELD_TYPE.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/ER.py to ER.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/constants/REFRESH.py to REFRESH.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/release.py to release.pyc
    byte-compiling build/bdist.linux-x86_64/egg/MySQLdb/converters.py to converters.pyc
    byte-compiling build/bdist.linux-x86_64/egg/_mysql_exceptions.py to _mysql_exceptions.pyc
    creating stub loader for _mysql.so
    byte-compiling build/bdist.linux-x86_64/egg/_mysql.py to _mysql.pyc
    creating build/bdist.linux-x86_64/egg/EGG-INFO
    copying MySQL_python.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying MySQL_python.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying MySQL_python.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    copying MySQL_python.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
    writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
    zip_safe flag not set; analyzing archive contents...
    creating dist
    creating 'dist/MySQL_python-1.2.4b4-py2.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
    removing 'build/bdist.linux-x86_64/egg' (and everything under it)
    Processing distribute-0.6.28-py2.7.egg
    creating /usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg
    Extracting distribute-0.6.28-py2.7.egg to /usr/local/lib/python2.7/dist-packages
    Adding distribute 0.6.28 to easy-install.pth file
    Installing easy_install script to /usr/local/bin
    Installing easy_install-2.7 script to /usr/local/bin

    Installed /usr/local/lib/python2.7/dist-packages/distribute-0.6.28-py2.7.egg
    Processing dependencies for distribute==0.6.28
    Finished processing dependencies for distribute==0.6.28
    Processing MySQL_python-1.2.4b4-py2.7-linux-x86_64.egg
    creating /usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.4b4-py2.7-linux-x86_64.egg
    Extracting MySQL_python-1.2.4b4-py2.7-linux-x86_64.egg to /usr/local/lib/python2.7/dist-packages
    Adding MySQL-python 1.2.4b4 to easy-install.pth file

    Installed /usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.4b4-py2.7-linux-x86_64.egg
    Processing dependencies for MySQL-python==1.2.4b4
    Finished processing dependencies for MySQL-python==1.2.4b4

    OK,至此一切完成


    你可能感兴趣的:(python下的MysqlDB包的安装详解)