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

15

我在使用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并重新安装它。

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

有什么建议吗?

我的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 是一个环境变量,用于指定 Python 解释器在导入模块时搜索路径的顺序。

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

你确定没有其他应用程序搞乱了你的PATH环境变量吗?请在这里粘贴它。 - Uku Loskit
我认为你是对的。某些东西搞乱了我的PATH变量。我已经在上面发布了它,这样你就可以看到其中的内容了。 - darren
这篇帖子解决了我的问题: https://dev59.com/T3E85IYBdhLWcg3wPBF8 - steven
15个回答

15

我曾经在较新版本的Python 2.7.x和Django中遇到了同样的问题,但这与PATH无关。以下是我在Windows XP上修复它所需做的全部步骤:

  1. 找到一个.py文件(任何一个都可以,即使是空白文件)。
  2. 右键点击该文件,选择“打开方式”,然后选择“选择程序...”。
  3. 这会弹出所有程序的列表 - 选择python并选中“始终使用选定的程序打开此类文件”的复选框,然后单击确定

选中此复选框会重置文件关联,并为命令行解决此问题。

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


一个简单错误的绝佳解决方案。 - oshikryu
感谢您解决了这个问题! - agconti

10

如果 C:\Python27\Scripts 已经在你的环境变量 Path 中,只需输入以下命令:

django-admin.py startproject proj

应该关联文件扩展名为.py并尝试执行。如果你在下一个命令前加上 python,那么它就是一个文件路径。

我从来没有成功过 python django-admin.py -- 我得到了你描述的同样的错误。

确保 Python 关联了 .py 文件。你可以通过文件属性(打开方式...)或在 cmd 中键入 assoc .py 来检查。


我刚刚安装了Django进行复制,django-admin.py startproject test可以正常工作。听起来你的设置没有将参数传递给django-admin.py,因为你不应该得到列表而是错误消息。 - Yuji 'Tomita' Tomita
ftype Python.File 是否显示 "C:\Python27\python.exe" "%1" %* - Yuji 'Tomita' Tomita
是的,ftype python.File 给我返回了 "C:\Python27\python.exe" "%1" %*。 - darren
我不理解的是,django-admin.py blah 实际上调用了脚本并返回帮助信息。 - Yuji 'Tomita' Tomita
我曾经遇到过完全相同的问题,但是我使用以下语法成功地解决了它(第一次):python c:\Python27\Scripts\django-admin.py startproject myprojectname - qxotk
显示剩余2条评论

5
以下是我为了让它正常工作所做的事情:
  • 使用python.org上的Windows安装程序将Python 2.7安装到C:\Python27。
  • 选择安装最新版本的Django(1.3)(不是开发版)。
  • 按照这里的说明安装Django:http://docs.djangoproject.com/en/dev/topics/install/
  • 因为我只在本地开发,所以跳过了Django说明中Apache和mod_wsgi的安装。
  • 我的应用程序不需要数据库,所以跳过了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上正常工作:

  • 使用此帖子中的信息验证文件关联性-所有关联性良好。
  • 使用Start|Computer|System Properties|Advanced System Properties|Environment Variables对话框将环境变量设置为以下内容:
  • 设置新系统变量:PYTHONPATH=c:\Python27\Lib;c:\Python27\Scripts
  • 编辑现有用户变量:PATH添加:C:\Python27;C:\Python27\Scripts到结尾。

结果:

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

请在评论中发布任何问题,也许我可以提供帮助。


3

你是否将.py文件与其他程序(如文本编辑器)关联了起来?我也曾遇到过这个问题,因为我将.py文件与gedit关联。

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

python django-admin.py startproject myproject

一旦我将 .py 文件重新关联到 Python,这个问题就解决了。

3

天啊!这让我疯了!只需要按照以下步骤操作即可!

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

2
问题似乎出在文件关联上。添加PATH变量后,应该删除所有的“py”关联文件,而不是将其链接到Python可执行文件:
从注册表中删除文件类型“.py”,或使用一个小型免费工具“Unassoc”(在Windows Vista/Windows 7上用谷歌搜寻“Windows 7 unassoc”)。
在我的情况下,仅仅解除文件类型关联并不足够,我必须使用unassoc工具完全删除文件类型。
现在你应该可以开始使用了。

1

我解决了!这是打开一个文件.py的命令行。

必须像这样:

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

我的是:

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

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


有两个相对不太为人知的 Windows 命令叫做“FTYPE”和“ASSOC”,可以用来更改文件关联。这可能就是“FileTypesMan”所使用的方法...而且比编辑注册表更容易使用。 - not2qubit

1
在我的情况下,问题通过添加django-admin.py的路径得以解决。
在Windows上使用Python 7和Django 1.11时,操作指南如下:
python c:\Python27\Lib\site-packages\django\bin\django-admin.py startproject mysite

0

在Windows上,我使用了

django-admin startproject test 

看起来似乎已经奏效了。


0
问题对我来说是安装Visual Studio。
我尝试安装django-admin,通常会自动设置:
pip3 install django-admin

它给了我:

error: Microsoft Visual C++ 14.0 or greater is required.

所以我安装了Microsoft Visual Studio,然后它就可以工作了。


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