我是 django 新手,目前正在阅读主要教程。即使它早些时候工作,当我执行 python manage.py runserver 或 python manage.py -h 或与任何其他命令时,shell 不会输出任何内容。想知道我做错了什么。
10 回答
问题是第一行manage.py
打破了windows上的文件。第一行应如下所示:
#!/usr/bin/env python
删除它将解决问题。
首先,通过在 shell 中键入“python”来检查 python 是否已完全安装。
然后你应该python manage.py runserver
在你的 django 项目中尝试。如果您没有任何 django 项目,请尝试通过键入django-admin.py startproject mysite
. 如果您的 shell 中没有显示任何内容,那么您一定是安装了错误的 Django。
请参阅https://docs.djangoproject.com/en/1.4/intro/install/上的 Django 文档
请试试这个。
- 卸载 Python。
- 进入 C 盘并搜索 Django。您将获得许多与 Django 相关的文件。
- 删除每个 Django 文件。不要删除你的 Django 文件。
- 安装 Python。
它对我有用。
如果您的服务器一直运行到某个时间点并且某个操作/更改破坏了它,请尝试返回之前的状态。
在我的例子中,有一个电子邮件触发器,如果电子邮件没有通过,它会使系统处于无效状态。然后git stash
有选择地弹出存储并尝试runserver
有助于将问题缩小到项目中的特定文件。
如果您创建了一个虚拟环境,请激活它。如果您使用的是 Windows 操作系统,则可以尝试此命令(在虚拟环境目录中):
.\Scripts\activate
manage.py
在 Ubuntu 上通过作为脚本运行为我工作:
./manage.py runserver
只是遇到了同样的问题。找到了一个可行但乏味的解决方案。
您需要知道 python.exe 文件在您的计算机中的位置。通常是 C:/Users/USERNAME/AppData/Local/Programs/Python//python.exe
根据需要修改并在CMD中运行以下命令,
C:/Users/USER1/AppData/Local/Programs/Python/Python38-32/python.exe
F:/mysite/manage.py runserver
希望这有效:)
如果您在 Windows 上使用 Redis Server,请检查 Redis Server 是否正在运行,我遇到了同样的问题并意识到我的 Redis Server 没有运行,我运行了它,现在我的 manage.py 命令工作正常。
我也发生了同样的情况,但是这个问题是一个小问题,因为如果您的系统上有多个 Python 版本,您可以通过运行 python3 或您想要的任何版本来选择特定的 Python 版本。所以你应该从头开始,然后先卸载 Django,创建一个虚拟环境,决定你要放置它的目录,然后将 venv 模块作为具有目录路径的脚本运行:
例如:python3 -m venv tutorial-env
//如果tutorial-env目录不存在,这将创建它,并在其中创建目录一旦你创建了一个虚拟环境,你可以激活它。
在 Windows 上,运行:
tutorial-env\Scripts\activate.bat 在 Unix 或 MacOS 上,运行:
源教程-env/bin/activate
现在,在命令提示符下,确保您的虚拟环境处于活动状态,然后执行以下命令:
...> py -m pip 安装 Django
注意:如果 django-admin 无论给出什么参数都只显示帮助文本,那么 Windows 中的文件关联可能存在问题。检查是否在 PATH 中设置了多个用于运行 Python 脚本的环境变量。这通常发生在安装了多个 Python 版本时。
如果可以的话,另一个解决方案是升级 Django
pip install django --upgrade
通常,人们会遇到与升级相关的其他不相关问题需要解决,但一旦所有问题都修复完毕,服务器应该可以正常运行。
如果您无法升级 Django,当代码是使用 Python 2.x 构建并且您在本地使用 Python 3.x 时也会发生此问题。
在这种情况下,更快的解决方法是从您的机器上卸载 Python 3.x 并确保将 Python 2.x 添加到路径中。我见过一些开发人员在 PowerShell 中设置别名,以便在环境中拥有多个版本。