为什么能力不正确安装python-mysqldb? (错误:无模块名为mysqldb)
题
用户名@Servername Tue Nov 02 22:08:28〜/public_html/idm_app
$ sudo能力安装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
用户名@Servername Tue Nov 02 22:09:21〜/public_html/idm_app
$ sudo能力安装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
用户名@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
用户名@Servername Wed Nov 03 03:24:00〜/public_html/idm_app
$ find/-name python -mysqldb 2>/dev/null
/usr/share/doc/python-mysqldb
用户名@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
用户名@Servername Wed Nov 03 13:21:02〜/public_html/idm_app
$ find/-name mysql_config 2>/dev/null
用户名@Servername Wed Nov 03 13:23:04〜/public_html/idm_app
$ find/-name python -mysqldb 2>/dev/null
/usr/share/doc/python-mysqldb
用户名@Servername Wed Nov 03 13:29:01〜/public_html/idm_app
$ find/-name python -mysql 2>/dev/null
用户名@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
用户名@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
用户名@Servername Wed Nov 03 13:35:01〜/public_html/idm_app
$ find/-name site.cfg 2>/dev/null
用户名@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
解决方案
解决方案是:
sudo aptitude install libmysqlclient-dev
sudo easy_install MySQL-python
其他提示
第一次尝试 dpkg -L python-mysqldb
, ,然后您会看到安装的内容。
其次,显然,您正在使用Manully编译的Python 2.7,而Ubuntu安装其软件包则为Python 2.6,这是当前默认值。您需要使用 easy_install
安装 python-mysql
到您的2.7安装。