MySQL_Python на Snow Leopard - PullRequest
       11

MySQL_Python на Snow Leopard

1 голос
/ 19 июня 2010

Я пытался решить эту проблему самостоятельно, но не могу заставить его работать. :( Я нахожусь в Snow Leopard 10.6.4 и пытался настроить мою среду Django, сначала я обновил свой python до 2.6.5, установил django, а затем mysql_python. Все кажется гладким, пока я не подключусь к mysql с помощью syncdb.

Получил это сообщение об ошибке / трассировке: django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

Я пытался следовать предоставленному решению http://forums.mysql.com/read.php?50,282410,286676, но все так же. Я считаю, что это как-то связано с моей версией Python, потому что когда я выполняю /usr/bin/python, он возвращает Python 2.6.1, но когда я просто набрал python, он говорит: «Python 2.6.5».

Кто-нибудь? Я думаю, что когда я собираю и устанавливаю mysql_python с помощью команды ARCHFLAGS="-arch x86_64" /usr/bin/python setup.py build, используется версия django по умолчанию (2.6.1) на SL, а не новая (2.6.5).

Возможно ли заставить это работать с 2.6.5? Благодарю.

Ответы [ 3 ]

0 голосов
/ 19 июня 2010

Возможно, вы используете любую версию Python в зависимости от значения переменной окружения PATH во время вызова Python. Важно, чтобы собственный Python от Apple оставался в системе в /usr/bin, поскольку он используется некоторыми другими частями операционной системы, и вы не хотите рисковать их нарушением, поэтому ваш альтернативный Python, скорее всего, установлен в /usr/local/bin (если вы использовали Darwinports или тому подобное для его установки, и в этом случае он будет где-то под /opt).

Вы можете установить расширения под одну или обе версии Python - если вы используете для установки обычную команду терминала python setup.py install, надстройка будет установлена ​​для версии python, которую вы используете. работает setup.py с, например. Простейшим может быть установка на обоих (или использование virtualenv, как подсказывает другой ответ) - все, что требуется, - это две команды, /usr/bin/python setup.py install для версии системы и (если ваша версия дополнения находится в /usr/local/bin) /usr/local/bin/python setup.py install. (Для каждого из них может потребоваться префикс sudo в зависимости от того, как вы устанавливаете разрешения и права собственности для различных задействованных каталогов).

0 голосов
/ 20 июня 2010

Первое спасибо за ответы!:) Заставил меня задуматься и помог мне разобраться.

Итак, я решил определить, на какой архитектуре работает моя оболочка python 2.6.5.Получил это Как мне определить, работает ли моя оболочка python в 32-битном или 64-битном режиме на OS X? и обнаружил, что она работает в 32-битной версии.Я должен быть единственной причиной, почему MySQL Python не будет работать, потому что у меня установлен 64-битный MySQL.

Затем я удалил mysql на /usr/local и применил этот удобный маленький совет http://egopoly.com/2009/09/01/how-to-uninstall-mysql-5-1-on-snow-leopard/ просто для того, чтобы 32-битный установщик mysql не жаловался.

Я снова загрузил mysql_python] и отредактировал строку 26 в файле setup_posix.py из mysql_config.path = "mysql_config" в mysql_config.path = "/usr/local/mysql-5.1.48-osx10.6-x86/bin/mysql_config", а затем выполнил следующие команды python setup.py build иsudo python setup.py install

А потом вуаля!: D это работает!Теперь я могу спать.Еще раз спасибо за помощь!

0 голосов
/ 19 июня 2010

type:

which python

выясните, куда он тянет python 2.6.5 (который не является текущим питоном, распространяемым Apple).Возможно, вы сможете использовать symlink / usr / bin / python для вашей установки 2.6.5, но, похоже, у вас возникают проблемы.

Вы можете установить mysqldb в вашей виртуальной среде, что приведет кэто в нужном месте.Я предполагаю, что вы установили python из .dmg или из исходного кода, но он не установился полностью или не перезаписал предоставленную Apple версию специально.

...