当我尝试在AWS上运行runserver Django manager.py时出错 *我看了教程https://www.youtube.com/watch?v=bRnm8f6Wavk
当我运行sudo python2.7 manage.py runserver
时,收到以下错误消息:
[ec2-user@ip- *** FirstBlog]$ python manage.py runserver
Unhandled exception in thread started by <function wrapper at 0x7fd788c07398>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module>
class AbstractBaseUser(models.Model):
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 108, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 299, in add_to_class
value.contribute_to_class(cls, name)
File "/usr/local/lib/python2.7/site-packages/django/db/models/options.py", line 263, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 116, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 28, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
任何人都能认出问题是什么吗?
或者有什么解决方案吗?
我被困了,因为我不知道如何找出问题所在;我已经安装了mysql-python
,我所做的就是更改settings.py
中的连接详细信息。
答案 0 :(得分:4)
尝试以下步骤:
1)。将pip
升级到最新版本。
sudo pip install pip --upgrade
2)。构建python-mysqldb库的依赖项:
sudo apt-get build-dep python-mysqldb
3)。安装Python MySQL库:
sudo pip install MySQL-python
答案 1 :(得分:2)
似乎你需要导入MySQLdb模块
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
答案 2 :(得分:0)
狮子座是对的
Python没有预先安装MySQL驱动程序,所以你需要安装MySQL驱动程序,但像Leo说这很容易
sudo pip install pip --upgrade
sudo pip install MySQL-python
然后下一步将是安装映像驱动程序
sudo pip install python-dev
和
sudo pip install python-imaging
如果你没有安装pip
sudo apt-get install pip
一旦你完成了你将需要改变你的所有权django dir - 所以apache可以读它