Pourquoi ne pas installer aptitude python-mysqldb correctement? (Erreur: Aucun module nommé MySQLdb)
Question
nom d'utilisateur @ servername mar 2 novembre 22:08:28 ~ / public_html / IDM_app
$ sudo aptitude install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following NEW packages will be installed:
libdbd-mysql-perl{a} libdbi-perl{a} libhtml-template-perl{a} libmysqlclient16{a}
libnet-daemon-perl{a} libplrpc-perl{a} mysql-client-5.1{a} mysql-client-core-5.1{a} mysql-common{a}
mysql-server mysql-server-5.1{a} mysql-server-core-5.1{a}
0 packages upgraded, 12 newly installed, 0 to remove and 44 not upgraded.
Need to get 0B/24.3MB of archives. After unpacking 60.9MB will be used.
Do you want to continue? [Y/n/?] Y
Writing extended state information... Done
Preconfiguring packages ...
Selecting previously deselected package mysql-common.
(Reading database ... 20736 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.1.41-3ubuntu12.6_all.deb) ...
Selecting previously deselected package libnet-daemon-perl.
Unpacking libnet-daemon-perl (from .../libnet-daemon-perl_0.43-1_all.deb) ...
Selecting previously deselected package libplrpc-perl.
Unpacking libplrpc-perl (from .../libplrpc-perl_0.2020-2_all.deb) ...
Selecting previously deselected package libdbi-perl.
Unpacking libdbi-perl (from .../libdbi-perl_1.609-1build1_amd64.deb) ...
Selecting previously deselected package libmysqlclient16.
Unpacking libmysqlclient16 (from .../libmysqlclient16_5.1.41-3ubuntu12.6_amd64.deb) ...
Selecting previously deselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.012-1ubuntu1_amd64.deb) ...
Selecting previously deselected package mysql-client-core-5.1.
Unpacking mysql-client-core-5.1 (from .../mysql-client-core-5.1_5.1.41-3ubuntu12.6_amd64.deb) ...
Selecting previously deselected package mysql-client-5.1.
Unpacking mysql-client-5.1 (from .../mysql-client-5.1_5.1.41-3ubuntu12.6_amd64.deb) ...
Selecting previously deselected package mysql-server-core-5.1.
Unpacking mysql-server-core-5.1 (from .../mysql-server-core-5.1_5.1.41-3ubuntu12.6_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.1.41-3ubuntu12.6) ...
Selecting previously deselected package mysql-server-5.1.
(Reading database ... 21101 files and directories currently installed.)
Unpacking mysql-server-5.1 (from .../mysql-server-5.1_5.1.41-3ubuntu12.6_amd64.deb) ...
Selecting previously deselected package libhtml-template-perl.
Unpacking libhtml-template-perl (from .../libhtml-template-perl_2.9-1_all.deb) ...
Selecting previously deselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.1.41-3ubuntu12.6_all.deb) ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up libnet-daemon-perl (0.43-1) ...
Setting up libplrpc-perl (0.2020-2) ...
Setting up libdbi-perl (1.609-1build1) ...
Setting up libmysqlclient16 (5.1.41-3ubuntu12.6) ...
Setting up libdbd-mysql-perl (4.012-1ubuntu1) ...
Setting up mysql-client-core-5.1 (5.1.41-3ubuntu12.6) ...
Setting up mysql-client-5.1 (5.1.41-3ubuntu12.6) ...
Setting up mysql-server-core-5.1 (5.1.41-3ubuntu12.6) ...
Setting up mysql-server-5.1 (5.1.41-3ubuntu12.6) ...
mysql start/running, process 26154
Setting up libhtml-template-perl (2.9-1) ...
Setting up mysql-server (5.1.41-3ubuntu12.6) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
nom d'utilisateur @ servername mar 2 novembre 22:09:21 ~ / public_html / IDM_app
$ sudo aptitude install python-mysqldb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following NEW packages will be installed:
python-mysqldb python-support{a}
0 packages upgraded, 2 newly installed, 0 to remove and 44 not upgraded.
Need to get 0B/112kB of archives. After unpacking 504kB will be used.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
Selecting previously deselected package python-support.
(Reading database ... 21184 files and directories currently installed.)
Unpacking python-support (from .../python-support_1.0.4ubuntu1_all.deb) ...
Selecting previously deselected package python-mysqldb.
Unpacking python-mysqldb (from .../python-mysqldb_1.2.2-10build1_amd64.deb) ...
Processing triggers for man-db ...
Setting up python-support (1.0.4ubuntu1) ...
Setting up python-mysqldb (1.2.2-10build1) ...
Processing triggers for python-support ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
nom d'utilisateur @ servername mar 2 novembre 22:10:26 ~ / public_html / IDM_app
$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 13, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/__init__.py", line 67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/contrib/contenttypes/generic.py", line 6, in <module>
from django.db import connection
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/db/__init__.py", line 77, in <module>
connection = connections[DEFAULT_DB_ALIAS]
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/db/utils.py", line 91, in __getitem__
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/db/utils.py", line 32, in load_backend
return import_module('.base', backend_name)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/db/backends/mysql/base.py", line 14, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
nom d'utilisateur @ servername Mer 3 novembre 03:24:00 ~ / public_html / IDM_app
$ find / -name python-mysqldb 2> / dev / null
/usr/share/doc/python-mysqldb
nom d'utilisateur @ servername Mer 3 novembre 12:46:55 ~ / public_html / IDM_app
$ ls / usr / local / mysql / bin / mysql_config
ls: cannot access /usr/local/mysql/bin/mysql_config: No such file or directory
nom d'utilisateur @ servername Mer 3 novembre 13:21:02 ~ / public_html / IDM_app
$ find / -name mysql_config 2> / dev / null
nom d'utilisateur @ servername Mer 3 novembre 13:23:04 ~ / public_html / IDM_app
$ find / -name python-mysqldb 2> / dev / null
/usr/share/doc/python-mysqldb
nom d'utilisateur @ servername Mer 3 novembre 13:29:01 ~ / public_html / IDM_app
$ find / -name python-mysql 2> / dev / null
nom d'utilisateur @ servername Mer 3 novembre 13:29:21 ~ / public_html / IDM_app
$ find / -name mysql 2> / dev / null
/etc/init.d/mysql
/etc/mysql
/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/contrib/gis/db/backends/mysql
/usr/local/lib/python2.7/site-packages/Django-1.2.3-py2.7.egg/django/db/backends/mysql
/usr/share/mysql
/usr/bin/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/mysql
/var/log/mysql
/var/lib/update-rc.d/mysql
/var/lib/mysql
nom d'utilisateur @ servername Mer 3 novembre 13:30:21 ~ / public_html / IDM_app
$ ls -la / usr / bin / mysql
-rwxr-xr-x 1 root 183376 Jul 29 22:54 /usr/bin/mysql
nom d'utilisateur @ servername Mer 3 novembre 13:35:01 ~ / public_html / IDM_app
$ find / -name site.cfg 2> / dev / null
nom d'utilisateur @ servername Mer 3 novembre 13:44:04 ~ / public_html / IDM_app
$ ls -la / usr / lib / mysql /
total 16
drwxr-xr-x 3 root 4096 Nov 2 22:09 .
drwxr-xr-x 42 root 8192 Nov 2 22:10 ..
drwxr-xr-x 2 root 4096 Nov 2 22:09 plugin
La solution
Le correctif était:
sudo aptitude install libmysqlclient-dev
sudo easy_install MySQL-python
Autres conseils
D'abord, dpkg -L python-mysqldb
try, vous verrez ce qui est installé.
En second lieu, vous utilisez évidemment un Python compilé manully 2.7, alors que Ubuntu installe ses paquets pour Python 2.6, qui est la valeur par défaut actuelle. Vous aurez besoin d'utiliser easy_install
pour installer python-mysql
à votre installation 2.7.