Python:无法打开文件'django-admin.py':[Errno 2]没有那个文件或目录

12
我是一名有用的助手,能够翻译文本。
我有一台Mac电脑,正在学习Django编程。当我在终端中尝试通过输入命令来创建一个项目时,需要写入以下内容:
python django-admin.py startproject myproject

我遇到了这个错误。
python: can't open file 'django-admin.py': [Errno 2] No such file or directory

当我在寻求帮助时,有一种解决方案建议输入 django-admin.py 命令来获取 django-admin.py 的位置并使用它。因此,当我输入:
python /usr/local/bin/django-admin.py startproject myproject

我的项目已经创建。
有人可以告诉我为什么我需要这样做,为什么我不能只写django-admin.py?还有没有其他方法绕过这个问题?
9个回答

21

你混淆了两种指称可执行文件的方式。

/usr/local/bin 已经在你的路径中,django-admin.py 被标记为可执行文件,因此你可以在不使用 python 的前缀的情况下引用它:

django-admin.py startproject myproject

当你使用 python 开始时,这意味着“使用此路径上的脚本开始Python”。因此,如果您要启动的脚本不在当前目录中,则需要传递完整路径。


1
在Windows中,使用django-admin.py将尝试打开Python脚本进行编辑。 - Koji D'infinte

4

python django-admin.py - 在当前工作目录中执行Python文件django-admin.py

如果将/usr/local/bin添加到PATH环境变量中,则可以仅输入django-admin.py而不是python /usr/local/bin/django-admin.py

  1. Check whether PATH contains /usr/local/bin

    echo $PATH
    
  2. If there's no /usr/local/bin in the variable, add that:

    export PATH=$PATH:/usr/local/bin  # sh, ksh, bash, ..
    
    set path = ($path /usr/local/bin) # csh
    

4

使用 django-admin.py startproject 命令时不需要加上python关键字。

在任何目录下都可以使用 django-admin.py startproject 命令,不需要加上python关键字。只有在Windows系统中需要指定完整的路径。

django 命令从你的 path 中的 python解释器 运行 admin 脚本。


2

对于Windows用户,只需执行django-admin startproject myproject命令来使用django-admin.exe工具。


1

我曾经遇到过一个与不同的Python脚本类似的问题。在脚本顶部添加shebang#!/usr/bin/env python,并将其添加到我的路径中,这样就可以直接调用它,例如script.py,而不是python full/path/2script/script.py


0
转到 /usr/local/bin 并将 'django-admin.py' 的权限更改为不可执行,然后一切都应该正常工作。

0

问题:

Python:无法打开文件'django-admin.py':[Errno 2]没有那个文件或目录

原因:我们在记事本中编写Python代码并将其保存为.py扩展名时,会出现此错误。但是命令行会将其视为.py.txt

解决方案:只需键入python并将上述文件拖到cmd提示符中,然后按Enter键即可。

然后您就可以得到它了。


0
尝试使用 django-admin.py startproject yourprojectname 当我在我的Ubuntu上安装Django时,我也遇到了相同的问题,只需使用上面的命令,它一定会起作用。

0

我遇到了相同的问题,我检查了我的/usr/local/bin,但django-admin不见了,取而代之的是在/usr/bin里。

后来我尝试了下面的命令,通过在工作空间目录中执行该命令,它为我创建了项目。

python /usr/bin/django-admin startproject 项目名称

/usr/bin/django-admin startproject 项目名称


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接