В очередной раз, при установке через pip MySQL-python, наткнувшись на отсутствие требуемых библиотек, решил записать процесс установки.
Установка
Устанавливаем последнюю версию pip в систему, можно делать разными способами, рекомендую также использовать virtualenv:
1 2 3 | apt-get install python-pip pip install -U pip |
Для последних версий MySQL-python требуется версия distribute >= 0.6.28, поэтому обновляем его тоже:
1 | pip install -U distribute>=0.6.28 |
Затем, устанавливаем требуемые dev-пакеты:
1 | apt-get install python-dev libmysqlclient-dev |
Устанавливаем MySQL-python:
1 | pip install MySQL-python |
Признаки отсутствующих dev-пакетов
Без установленного libmysqlclient-dev вы увидите что-то вроде этого:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | Downloading/unpacking MySQL-python Running setup.py egg_info for package MySQL-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in File "/home/lizzard/build/MySQL-python/setup.py", line 15, in 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 "", line 14, in File "/home/lizzard/build/MySQL-python/setup.py", line 15, in 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 |
Без установленного пакета python-dev вы увидите что-то подобное:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | Downloading/unpacking MySQL-python Using download cache from /home/lizzard/.pip_download_cache/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FM%2FMySQL-python%2FMySQL-python-1.2.4.zip Running setup.py egg_info for package MySQL-python sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 14, in File "/home/lizzard/build/MySQL-python/setup.py", line 18, in 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 Complete output from command python setup.py egg_info: sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 14, in File "/home/lizzard/build/MySQL-python/setup.py", line 18, in 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 /home/lizzard/build/MySQL-python Storing complete log in /home/lizzard/.pip/pip.log |
Без нужной версии distribute:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | Downloading/unpacking MySQL-python Downloading MySQL-python-1.2.4.zip (113Kb): 113Kb downloaded Storing download in cache at /home/lizzard/.pip_download_cache/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FM%2FMySQL-python%2FMySQL-python-1.2.4.zip Running setup.py egg_info for package MySQL-python The required version of distribute (>=0.6.28) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U distribute'. (Currently using distribute 0.6.24 (/home/lizzard/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg)) Complete output from command python setup.py egg_info: The required version of distribute (>=0.6.28) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U distribute'. (Currently using distribute 0.6.24 (/home/lizzard/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg)) ---------------------------------------- Command python setup.py egg_info failed with error code 2 in /home/lizzard/build/MySQL-python Storing complete log in /home/lizzard/.pip/pip.log |