Why is aptitude not installing python-mysqldb properly? ( error: No module named MySQLdb )

StackOverflow https://stackoverflow.com/questions/4088397

  •  28-09-2019
  •  | 
  •  

문제

username@servername Tue Nov 02 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  

username@servername Tue Nov 02 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  

username@servername Tue Nov 02 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  

username@servername Wed Nov 03 03:24:00 ~/public_html/IDM_app
$ find / -name python-mysqldb 2>/dev/null

/usr/share/doc/python-mysqldb  

username@servername Wed Nov 03 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     

username@servername Wed Nov 03 13:21:02 ~/public_html/IDM_app
$ find / -name mysql_config 2>/dev/null

username@servername Wed Nov 03 13:23:04 ~/public_html/IDM_app
$ find / -name python-mysqldb 2>/dev/null

/usr/share/doc/python-mysqldb  

username@servername Wed Nov 03 13:29:01 ~/public_html/IDM_app
$ find / -name python-mysql 2>/dev/null

username@servername Wed Nov 03 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  

username@servername Wed Nov 03 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  

username@servername Wed Nov 03 13:35:01 ~/public_html/IDM_app
$ find / -name site.cfg 2>/dev/null

username@servername Wed Nov 03 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  
도움이 되었습니까?

해결책

The fix was:

sudo aptitude install libmysqlclient-dev

sudo easy_install MySQL-python 

다른 팁

First, try dpkg -L python-mysqldb, then you'll see what's installed.

Second, you are obviously using a manully compiled Python 2.7, while Ubuntu installs its packages for Python 2.6, which is the current default. You'll need to use easy_install to install python-mysql to your 2.7 installation.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top