【问题标题】:Python/Django run development serverPython/Django 运行开发服务器
【发布时间】:2015-09-21 19:50:43
【问题描述】:

我正在尝试使用 Django 1.8.4 和 Python 2.7.10 创建一个项目,但我无法执行命令 python manage.py runserver。我可以创建项目和应用程序,但无法运行服务器。 请有人帮助我,我是 Python/Django 的新手,我不能再进步了。 cmd在执行命令时显示下一个错误。

C:\Users\Efren\SkyDrive\UniCosta\VIII\Ingenieríade Software II\Django\PrimerProyecto>python manage.py runserver 执行系统 检查...

系统检查未发现任何问题(0 静音)。未处理的异常 Traceback 启动的线程(大多数 最近通话最后一次):

文件 "C:\Python27\lib\site-packages\django\utils\autoreload.py", 第 225 行,在包装器中 fn(*args, **kwargs)

文件 "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", 第 112 行,inner_run self.check_migrations()

文件 "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", 第 164 行,在 check_migrations 中 executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])

文件 “C:\Python27\lib\site-packages\django\db\migrations\executor.py”,行 19、在初始化 self.loader = MigrationLoader(self.connection)

文件 "C:\Python27\lib\site-packages\django\db\migrations\loader.py", 第 47 行,在 init 中 self.build_graph()

文件 "C:\Python27\lib\site-packages\django\db\migrations\loader.py", 第 182 行,在 build_graph self.applied_migrations = recorder.applied_migrations()

文件 “C:\Python27\lib\site-packages\django\db\migrations\recorder.py”,行 59,在应用迁移 self.ensure_schema()

文件 “C:\Python27\lib\site-packages\django\db\migrations\recorder.py”,行 49、在 ensure_schema if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):

文件 “C:\Python27\lib\site-packages\django\db\backends\base\base.py”,行 162,在光标中 cursor = self.make_debug_cursor(self._cursor())

文件 “C:\Python27\lib\site-packages\django\db\backends\base\base.py”,行 135,在_cursor中 self.ensure_connection()

文件 “C:\Python27\lib\site-packages\django\db\backends\base\base.py”,行 130,在确保连接中 self.connect()

文件“C:\Python27\lib\site-packages\django\db\utils.py”,第 97 行,在 退出 六.reraise(dj_exc_type, dj_exc_value, traceback)

文件 “C:\Python27\lib\site-packages\django\db\backends\base\base.py”,行 130,在确保连接中 self.connect()

文件 “C:\Python27\lib\site-packages\django\db\backends\base\base.py”,行 119,连接中 self.connection = self.get_new_connection(conn_params)

文件 "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py", 第 204 行,在 get_new_connection 中 conn = Database.connect(**conn_params)

django.db.utils.OperationalError: 无法打开数据库文件

【问题讨论】:

  • 您是否运行python manage.py migrate 来启动并运行数据库?
  • 您的数据库名称在设置中如何?
  • 请分享settings.py中的数据库设置。
  • @knbk 我正在运行命令并在 execute_from_command_line(sys.argv) ... 中收到错误文件“manage.py”,第 10 行
  • @PauloPessoa DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3') , } }

标签: django python-2.7 django-1.8 manage.py


【解决方案1】:

似乎很明显Django无法在指定位置找到您的数据库,原因可能是,

  1. 您使用“sudo”或与当前用户以外的任何其他 linux 用户创建了 django 项目,这就是您当前用户可能无权访问该数据库的原因。您可以通过输入项目的根目录来检查文件的权限,

    ls -la

  2. 您在 settings.py 中为数据库文件配置了错误的路径

【讨论】:

    【解决方案2】:

    我相信您正在寻找的解决方案如下:

    sudo python manage.py runserver
    

    我在同样的问题上苦苦挣扎,这终于解决了我的问题。
    超级用户做来救援!

    编辑:如果您在 Windows 上并想测试此解决方案,那么此链接有一些选项: How to run 'sudo' command in windows

    【讨论】:

    • 在这种情况下这似乎不太可能,因为用户似乎在 Windows 上 :)
    猜你喜欢
    • 1970-01-01
    • 2015-02-23
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多