2015-11-27 2 views
0

Я использую Amazon AMI, который использует yum для установки пакетов. В настоящее время я использую Python 2.5.Использование MySQLdb на Python 2.5

меня установлен MySQLdb, когда я бегу:

sudo yum install MySQL-Python 

я получаю:

Package MySQL-python26-1.2.3-11.14.amzn1.x86_64 already installed and latest version 

Однако, когда я пытаюсь импортировать я получаю эту ошибку:

>>> import MySQLdb 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named MySQLdb 

Я думаю, MySQLdb пытается использовать Python 2.6, который также установлен (интерпретатор python показывает 2.5). Как это исправить? Благодаря!

ответ

0

Проблема в том, что yum связан с python 2.6. Поэтому, когда вы устанавливаете пакет, он переходит на этот путь python, а не тот, который вы хотите. Я также не рекомендую менять ссылку на python по умолчанию на тот, который вам нужен, потому что вы можете нарушать скрипты с помощью этой версии. Что вы можете сделать, это изменить ни, чтобы указать на другую версию питона:

Это может работать:

# vi /usr/bin/yum 
FROM: 
!/usr/bin/python 
TO: 
!/usr/bin/python2.5 

И затем выполнить команду для загрузки MySQL снова дб.

Если вы используете Django, например, вы не можете сделать:

python manage.py runserver, потому что это будет ссылка на версию по умолчанию. Вместо этого вам нужно будет использовать python2.5 manage.py runserver.

Если вы собираетесь использовать Django, я рекомендую использовать PostgreSQL. MySQL имеет некоторые серьезные ограничения для запросов. Если вы не будете использовать Django, никогда не подумайте.

Я надеюсь, что это помогает сейчас :)

Источник: How to switch between Python versions

+0

Я попытался ссылке. С помощью >>/usr/sbin/alternatives --configure python он вернул, что есть две программы, использующие python (2.7 и 2.6), это не показывает 2.5. Однако, когда я перехожу к интерпретатору python, он показывает Python 2.5.6. – gward