找不到Pycharm Django Syncdb MySQLdb

时间:2013-03-29 15:35:20

标签: python mysql django mysql-python

我已经开始使用Pycharm进行我的Django开发并且遇到了这个错误。我知道我的MySQLdb正在工作,因为我可以在我尝试使用python shell时导入它,并且我可以在命令行上运行syncdb命令。 我的问题是我需要添加到Pycharm以使MySQLdb被识别。我正在使用Mac OS X,如果这有任何区别。我是否需要在manage.py中添加内容,还是需要将其添加到Pycharm的首选项中?或者它是不同的东西。 谢谢你的帮助。

这是我得到的错误:

    Traceback (most recent call last):
      File "/Applications/PyCharm.app/helpers/pycharm/django_manage.py", line 21, in <module>
        run_module(manage_file, None, '__main__', True)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 176, in run_module
        fname, loader, pkg_name)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 82, in _run_module_code
        mod_name, mod_fname, mod_loader, pkg_name)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
        exec code in run_globals
      File "/Users/Brandon/PycharmProjects/Database_assignment/manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
        utility.execute()
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 382, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
        klass = load_command_class(app_name, subcommand)
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
        module = import_module('%s.management.commands.%s' % (app_name, name))
      File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
        __import__(name)
      File "/Library/Python/2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
        from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
      File "/Library/Python/2.7/site-packages/django/core/management/sql.py", line 6, in <module>
        from django.db import models
      File "/Library/Python/2.7/site-packages/django/db/__init__.py", line 40, in <module>
        backend = load_backend(connection.settings_dict['ENGINE'])
      File "/Library/Python/2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
        return getattr(connections[DEFAULT_DB_ALIAS], item)
      File "/Library/Python/2.7/site-packages/django/db/utils.py", line 92, in __getitem__
        backend = load_backend(db['ENGINE'])
      File "/Library/Python/2.7/site-packages/django/db/utils.py", line 24, in load_backend
        return import_module('.base', backend_name)
      File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 35, in import_module
        __import__(name)
      File "/Library/Python/2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
        raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

Process finished with exit code 1

3 个答案:

答案 0 :(得分:0)

尝试

pip install mysql-python

我认为在Pycharm中你可以通过GUI安装软件包。但实质上你需要安装mysql-python

你可能需要做sudo pip install mysql-python如果你得到&#34; Permission denied messages&#34;

答案 1 :(得分:0)

PyCharm定义了用于每个项目的解释器,因此您需要仔细检查项目是否设置为使用:

  1. 你已经设置的virtualenv
  2. 系统Python,如果你没有使用virtualenv(你应该这样)。

答案 2 :(得分:0)

如果您使用的是python 3,则不会安装mysql-python,因为它不支持python 3.请改用mysqlclient。更多信息here