Подтвердить что ты не робот

Компиляция mysql-python в Windows с PIP

Итак, у меня есть Python 2.7 и setuptools, установленные на моем ноутбуке Windows 7. У меня также есть Visual Studio 2008 Express и MySQL с инструментами dev.

Я пытаюсь установить mysql-python через pip, например:

pip install mysql-python

Я получаю ошибки ссылок:

   Creating library build\temp.win32-2.7\Release\_mysql.lib and object build\temp.win32-2.7\Release\_mysql.exp

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_Exception

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_Exception

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_server_init

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_server_end

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_thread_safe

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_Initialize

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_close

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_affected_rows

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_debug

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_dump_debug_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_autocommit

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_commit

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_rollback

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_next_result

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_set_server_option

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_sqlstate

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_warning_count

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_escape_string

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_escape_string

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_row_to_tuple

_mysql.obj : error LNK2019: unresolved external symbol __imp__strncpy referenced in function __mysql_row_to_dict

_mysql.obj : error LNK2019: unresolved external symbol __imp__strncat referenced in function __mysql_row_to_dict

_mysql.obj : error LNK2019: unresolved external symbol _memset referenced in function __mysql_row_to_dict_old

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql__fetch_row

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_fetch_row

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_change_user

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_character_set_name

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_set_character_set

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_get_character_set_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_get_client_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_get_host_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_get_proto_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_get_server_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_info

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_insert_id

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_kill

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_ping

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_query

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_select_db

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_shutdown

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_stat

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ConnectionObject_thread_id

_mysql.obj : error LNK2019: unresolved external symbol __imp__sprintf referenced in function __mysql_ConnectionObject_repr

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_data_seek

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_row_seek

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_row_seek

_mysql.obj : error LNK2019: unresolved external symbol [email protected] referenced in function __mysql_ResultObject_dealloc

LINK : error LNK2001: unresolved external symbol [email protected]

build\lib.win32-2.7\_mysql.pyd : fatal error LNK1120: 56 unresolved externals

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\BIN\\link.exe' failed with exit status 1120

Есть идеи, как решить эту проблему? Благодаря

4b9b3361

Ответ 1

У меня была такая же проблема и точные ошибки. Я не знаю, почему, но

pip install Mysql-python

дал ошибки. Но когда я попробовал

easy_install Mysql-python

Это сработало. Я не знаю, почему, но это сработало, но хотелось бы знать, почему.

Ответ 2

Убедитесь, что оба из них - 32 бит или 64 бит, и у вас нет рассогласования между ними. Когда у меня возникла эта проблема, это было связано с тем, что я установил 64-битный Python, но имел 32-битный MySQL. Таким образом, установщик pip не смог найти соответствующие двоичные файлы для ссылки и не смог с этим сообщением. Исправление проблемы было просто вопросом установки 32-битного Python поверх, и все сработало.

Обратите внимание, что также возможно обновить MySQL до 64 бит, но установщики на данный момент для MySQL кажутся только 32-битными. Вы можете установить через .zip файл, загруженный с официального сайта MySQL, хотя в нем есть 64-битные двоичные файлы.

Чтобы узнать, что вы установили:

  • Для Python просто зайдите в командную строку и введите python. Он должен показать вам, какая версия и если она была 32-битной или 64-разрядной,

    Python 2.7.10 (по умолчанию, 23 мая 2015, 09:40:32) [MSC v.1500 32 бит (Intel)] на win32

  • Для MySQL самым простым способом, вероятно, будет то, в какую папку он установлен. Если он устанавливается на Program Files/, тогда он равен 64 бит, но если он устанавливается на Program Files (x86)/, он будет 32-битным

Ответ 3

Похоже, что ваша установка не обнаруживает клиентскую библиотеку mysql. Найдите и скопируйте mysqlcppconn.dll из вашей установки mysql в папку, которую читает сборка script, например, в папке Windows. Для получения дополнительной информации ознакомьтесь с этой ссылкой https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-apps-windows-visual-studio.html#connector-cpp-application-build-dynamic

Ответ 4

Я попробовал это, и это сработало для меня на 64-разрядной установке Win7 для anaconda. введите это в свою командную строку:

pip install mysql-python

Моя установка работает, потому что я использую Studio 2010.