在Windows PowerShell中使用django-admin
在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 个回答
嘿,我之前也遇到过同样的问题,试了这里几乎所有的解决办法,结果都没用……不过我把一些方法混合使用了一下,
所以这是我解决问题的方法:
首先-
pip uninstall Django
然后-
以管理员身份运行你的终端(shell或cmd),
pip install Django
接着-
再打开一个没有管理员权限的终端
django-admin startproject mysite
所以这个错误主要是因为操作系统的一些限制,当我们用pip安装Django时,有时候操作系统会阻止pip正确保存所有文件。
可能你在正常安装Django时收到了错误提示,而用管理员终端时就没有这些限制了。
这个解决办法显然是我自己的方法,欢迎纠正我 谢谢你!
首先,输入命令 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
你需要添加一个路径变量。要永久设置 PATH,请按照以下步骤操作:
- 在桌面上右键点击“我的电脑”,或者在开始菜单中找到“计算机”,具体取决于你使用的 Windows 版本,然后选择 属性。
- 在左侧点击 高级系统设置。
- 点击 环境变量。
- 添加或更新 PATH 变量:
- 如果这个变量不存在,就新建一个,并把值设置为
C:\Python33\Scripts
。 - 如果这个变量已经存在,就在原有的值后面加上
;C:\Python33\Scripts
。
- 如果这个变量不存在,就新建一个,并把值设置为
- 重启 cmd.exe。(已经打开的 cmd.exe 不会看到新的 PATH 设置)
指定的文件夹里缺少二进制文件。你需要安装这个二进制文件。你可以使用下面的命令来解决这个问题。
在你的情况下,它是:
C:\Python33\Scripts\pip install django-binary-database-files
希望这能帮助你解决问题。
在命令提示符(CMD)或PowerShell中运行这段代码,它可以正常工作:
python -m django startproject mysite