【问题标题】:Can't open file 'django-admin.py': [Errno 2] No such file or directory无法打开文件 'django-admin.py':[Errno 2] 没有这样的文件或目录
【发布时间】:2011-07-15 00:42:17
【问题描述】:

我正在使用 Python 2.7、Django 1.2.5 和 Windows 7。

我不确定我做了什么。我曾经能够创建类似的 Django 项目

python django-admin.py startproject test

但是现在我得到了这个错误。

无法打开文件“django-admin.py”:
[Errno 2] 没有这样的文件或目录

我可以输入以下内容。

python C:\Python27\Scripts\django-admin.py startproject test

我怎样才能拥有它以前的样子? 没有输入 django-admin.py 文件的完整路径。

我已经尝试过的事情:

我卸载了 Python 并手动从 Windows 中的 PATH 变量中删除了这些值。重新安装了 Python。删除 Django 并重新安装。

我已将 C:\Python27\Scripts 添加到 PATH环境变量 下的 PYTHONPATH 变量中在 Windows 中。

有什么建议吗?

我的 PATH 变量包含

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\ActiveState Komodo Edit 6\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\django-apps;F:\My_Projects;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Mercurial\bin;C:\Python27;C:\Python27\Scripts

PYTHONPATH 有

C:\Python27;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts;C:\django-apps;f:\my_projects

【问题讨论】:

  • 您确定其他应用程序没有弄乱您的 PATH 吗?请在此处粘贴。
  • 我认为你是对的。有些东西弄乱了我的 PATH 变量。我已经把它贴在上面了,你可以看看里面有什么。
  • 看到这篇文章为我修复了它:*.com/questions/2870262/…

标签: python django django-admin


【解决方案1】:

如果C:\Python27\Scripts 在您的路径中,只需输入:

django-admin.py startproject proj

应该有一个与 .py 的文件关联并尝试执行。如果您以python 为前缀,则下一个命令是文件路径。

我从来没有做过python django-admin.py——我遇到了你描述的同样的错误。

确保 python 与.py 相关联。您可以通过文件属性(打开方式...)或在 cmd 中输入assoc .py 进行检查。

【讨论】:

  • 我已经确定关联是正确的。我也尝试了 django-admin.py startproject test 但它转储了有关 django-admin-.py 的所有信息
  • 我刚刚安装了 django 进行复制,django-admin.py startproject 测试工作。听起来您的设置没有将参数传递给 django-admin.py,因为您不应该得到列表而是错误消息
  • ftype Python.File 是否显示"C:\Python27\python.exe" "%1" %*
  • yes ftype python.File 给我 "C:\Python27\python.exe" "%1" %*
  • 我不明白的是django-admin.py blah实际上调用了脚本并返回了帮助信息。
【解决方案2】:

这是我为使其正常工作所做的:

  • 使用 python.org 上的 Windows 安装包将 Python 2.7 安装到 C:\Python27
  • 我选择安装最新版本的 Django (1.3)(不是开发主干
  • 按照此处的说明安装 Django:http://docs.djangoproject.com/en/dev/topics/install/
  • 我只做本地开发,所以我跳过了 Apache 和 mod_wsgi 的安装(按照 Django 说明)
  • 我的应用不需要数据库,因此我跳过了 Django 说明中的“让您的数据库运行”部分;我跳过了“删除任何旧版本的 Django”(没有安装任何版本)
  • 我跳过了“安装官方版本”的说明
  • 我按照指示安装了 bsdtar,以便在我的 Windows 机器上解压发行文件 - 运行没有问题。
  • 在 Windows 上,我以管理员权限启动了一个 cmd shell 并运行命令“setup.py install” - 运行没有问题
  • 我按照说明验证 Django 安装:运行 import django 和 django.print get_version() - 返回 1.3,成功
  • 然后是运行 django-admin.py startproject myproject 的时候了 - 我收到与上述类似的错误,当尝试从 python 解释器中运行 django-admin.py 时,我收到指向参数的语法错误。奇怪。
  • 找到这个线程并运行它,它工作:c:\Python27\Scripts\django-admin.py startproject myproject 并且它工作。
  • 仍然很好奇,我想看看是否可以在没有路径的情况下从 cmd 提示符下使其工作,因为它似乎应该工作 - 但它没有。

这是我在安装说明之外所做的,使它在 Windows 上对我有效:

  • 使用这篇文章中的信息验证了文件关联 - 所有关联都很好。
  • 使用开始|计算机|系统属性|高级系统属性|环境变量对话框设置环境变量如下:
  • 设置新系统变量:PYTHONPATH = c:\Python27\Lib;c:\Python27\Scripts
  • 编辑现有用户变量:PATH 添加:C:\Python27;C:\Python27\Scripts to the end.

结果:

  • .py 文件现在从 cmd 命令行执行(无需先运行 python 解释器)
  • 例如命令 django-admin.py startproject mynewproject 运行良好。

如有任何问题请在 cmets 留言,或许我可以提供帮助。

【讨论】:

    【解决方案3】:

    您是否可以将 .py 文件与另一个程序(如文本编辑器)相关联?在将 .py 文件与 gedit 关联后,我也遇到了这个问题。

    如果我这样做,我会遇到问题:

    python django-admin.py startproject myproject
    

    一旦我将 .py 文件重新关联到 python,这个问题就消失了。

    【讨论】:

      【解决方案4】:

      问题似乎与文件关联有关。添加 PATH 变量后,删除所有“py”关联,而不是将它们链接到您的 Python 可执行文件:

      从注册表中删除文件类型“.py”或使用小 适用于 Windows Vista/Windows 7 的免费工具,称为“Unassoc”(Google for Windows 7 unassoc)。

      在我的情况下,仅仅取消关联文件类型是不够的。我必须使用 unassoc 工具完全删除文件类型。

      现在你应该可以开始了。

      【讨论】:

        【解决方案5】:

        我在 Python 2.7.x 和 Django 的稍新版本中遇到了同样的问题——而且它不是 PATH。这就是我在 Windows XP 中修复它所要做的全部工作:

        1. 查找 .py 文件(任意,甚至是空白)。
        2. 右键单击它并选择:“打开方式>”,然后选择“选择程序...”。
        3. 这会弹出所有程序的列表-选择python,并选中“始终使用所选程序打开此类文件”框,然后单击确定

        选中此框会重置文件关联并修复命令行的此问题。

        问题的原因:告诉 Windows 默认在文本编辑器中打开 .py 文件。

        【讨论】:

        • 解决一个简单错误的好方法。
        • 感谢您解决这个问题!
        【解决方案6】:

        我已经解决了!这是打开file .py的命令行。

        应该是这样的:

        "C:\Python27\python.exe" "%1" %*
        

        我的是:

        "C:\Python27\python.exe" "%1" without the final %* 
        

        我已使用FileTypesMan 进行编辑,因为 Windows 7 无法编辑此属性。

        【讨论】:

        • 有两个相对不为人知的windows命令FTYPEASSOC,可以用来改变这一点。 (可能是 FileTypesMan 正在使用的......而且比注册表编辑更容易使用。
        【解决方案7】:

        天哪!它把我逼疯了!只需执行以下操作!

        python C:\python27\scripts\django-admin.py startproject mysite
        

        【讨论】:

          【解决方案8】:

          首先,在 PowerShell 中(在您的 $profile 中)设置路径,如下所示:

          $env:PATH = "C:\Python27\;C:\Python27\Scripts;c:\python27\lib\site-packages\django\bin\;"
          

          然后,要让 .py 文件在 PowerShell 而不是 cmd 中打开,请添加以下行:

          $env:PATHEXT += ";.py"
          

          最后,为了能够只输入“django-admin”并让它工作,添加这一行:

          function django-admin {python (gcm django-admin.py | resolve-path) $args}
          

          这应该可以解决问题。

          【讨论】:

            【解决方案9】:

            安装 IDE 后,我遇到了类似(如果不相同)的问题。果然,.py“打开方式”设置已更改,将其更改回 Windows 的 Python 启动器就成功了。

            【讨论】:

              【解决方案10】:

              确保您的 cd 是您保存 Notepad++ Python 文件的位置。如果您将其保存在 \Python27\ 目录下,则在终端或PowerShell 窗口中,输入cd C:\Python27 并按回车键。

              这将打开该目录,因此当您键入 python filename.py 时,它会找到并运行它。只需记住将所有 .py 文件保存到同一目录,这样就不会再有任何问题了。

              【讨论】:

                【解决方案11】:

                在 Windows 上,我使用了

                django-admin startproject test 
                

                它似乎奏效了。

                【讨论】:

                  【解决方案12】:

                  在我的情况下,它是通过添加 django-admin.py 的路径来解决的。

                  使用 python 7 和 django 1.11 在 windows 中的指令是:

                  python c:\Python27\Lib\site-packages\django\bin\django-admin.py startproject mysite
                  

                  【讨论】:

                    【解决方案13】:

                    由于路径太长,我将文件夹移动到 C:/ 内的较短路径。这样我调用它更快,路线有问题。我使用带有 Django 3.0.5 的 Windows 10,结果是这样的:python C:\Python38\Scripts\django-admin.py startproject test

                    【讨论】:

                      【解决方案14】:

                      没有 Windows,使用:

                      python -m django startproject mysite
                      

                      【讨论】:

                        最近更新 更多