在Windows PowerShell中使用django-admin

23 投票
16 回答
94137 浏览
提问于 2025-04-18 05:12

在Django的新项目教程中,要运行的命令是

django-admin.py startproject mysite

但是,当我运行这个命令时,总是会遇到以下错误:

django-admin : The term 'django-admin' is not recognized as the name of a cmdlet, 
function, script file, or operable
program. Check the spelling of the name, or if a path was included, 
verify that the path is correct and try again.

我已经把路径 C:\Python33\Scripts 加入到我的系统变量中,并且重启了我的powershell,但还是不行。我发现一个变通的方法是执行以下命令:

py C:\Python33\Scripts\django-admin.py startproject mysite

有没有办法解决这个问题,让我只需要调用django-admin.py,而不需要指定目录呢?

补充说明:这个错误是在Windows Powershell中出现的。Windows命令提示符工作正常,但我想知道为什么会有这样的区别。

16 个回答

3

,我之前也遇到过同样的问题,试了这里几乎所有的解决办法,结果都没用……不过我把一些方法混合使用了一下,


所以这是我解决问题的方法:

首先-

pip uninstall Django

然后-

以管理员身份运行你的终端(shell或cmd),

pip install Django

接着-

再打开一个没有管理员权限的终端

django-admin startproject mysite

所以这个错误主要是因为操作系统的一些限制,当我们用pip安装Django时,有时候操作系统会阻止pip正确保存所有文件。

可能你在正常安装Django时收到了错误提示,而用管理员终端时就没有这些限制了。


这个解决办法显然是我自己的方法,欢迎纠正我 谢谢你!

6

首先,输入命令 pip3 show django 来查看 Django 的信息。

接下来,你需要找到一个路径
我找到的路径是这样的:

c:\users\jadem\appdata\local\packages\pythonsoftwarefoundation.python.3.8_qbz5n2kfra8p0\localcache\local-packages\python38\site-packages

注意,这个路径的上一级目录是 Scripts,所以只需要把 "site-packages" 改成 "Scripts"。

然后,去你的环境变量设置里添加这个路径,
我添加的路径看起来是这样的:

c:\users\jadem\appdata\local\packages\pythonsoftwarefoundation.python.3.8_qbz5n2kfra8p0\localcache\local-packages\python38\Scripts

7

你需要添加一个路径变量。要永久设置 PATH,请按照以下步骤操作:

  1. 在桌面上右键点击“我的电脑”,或者在开始菜单中找到“计算机”,具体取决于你使用的 Windows 版本,然后选择 属性
  2. 在左侧点击 高级系统设置
  3. 点击 环境变量
  4. 添加或更新 PATH 变量:
    • 如果这个变量不存在,就新建一个,并把值设置为 C:\Python33\Scripts
    • 如果这个变量已经存在,就在原有的值后面加上 ;C:\Python33\Scripts
  5. 重启 cmd.exe。(已经打开的 cmd.exe 不会看到新的 PATH 设置)
16

指定的文件夹里缺少二进制文件。你需要安装这个二进制文件。你可以使用下面的命令来解决这个问题。

在你的情况下,它是:

C:\Python33\Scripts\pip install django-binary-database-files

希望这能帮助你解决问题。

48

在命令提示符(CMD)或PowerShell中运行这段代码,它可以正常工作:

python -m django startproject mysite

撰写回答