无法打开文件 'django-admin.py': [Errno 2] 没有此文件或目录
我正在使用 Python 2.7,Django 1.2.5,操作系统是 Windows 7。
我不太确定自己做了什么。之前我可以像这样创建 Django 项目:
python django-admin.py startproject test
但现在我却遇到了这个错误。
无法打开文件 'django-admin.py':
[错误号 2] 没有这样的文件或目录
我可以输入以下命令,它是可以正常工作的。
python C:\Python27\Scripts\django-admin.py startproject test
我该如何让它恢复到以前的样子?也就是不需要输入 django-admin.py 文件的完整路径。
我已经尝试过的事情:
我卸载了 Python,并手动从 Windows 的 PATH 变量中删除了相关值。然后重新安装了 Python。也删除并重新安装了 Django。
我已经将 C:\Python27\Scripts 添加到了 Windows 的 环境变量 中的 PATH 和 PYTHONPATH 变量里。
有没有什么建议?
我的 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
15 个回答
这是我让它工作的方法:
- 我在C:\Python27安装了Python 2.7,使用的是python.org上为Windows提供的安装包。
- 我选择安装了Django的最新正式版本(1.3),而不是开发版本。
- 我按照这里的说明安装了Django:http://docs.djangoproject.com/en/dev/topics/install/
- 因为我只是进行本地开发,所以我跳过了安装Apache和mod_wsgi的步骤(Django说明中提到的)。
- 我的应用不需要数据库,所以我跳过了“让你的数据库运行”的部分;而且我也跳过了“删除任何旧版本的Django”(因为我没有安装过)。
- 我直接跳到“安装正式版本”的说明。
- 我按照指示安装了bsdtar,以便在我的Windows机器上解压发布文件,运行得很顺利。
- 在Windows上,我以管理员身份打开了cmd命令行,并运行了命令“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
结果:
- 现在.py文件可以直接从cmd命令行执行(不需要先运行Python解释器)。
- 例如,命令django-admin.py startproject mynewproject运行得很好。
如果有任何问题,请在评论中提问,也许我能帮忙。
如果你的电脑里有 C:\Python27\Scripts
这个路径,直接输入:
django-admin.py startproject proj
应该有一个和 .py 文件关联的设置,然后尝试执行。如果你在命令前加上 python
,那么接下来的命令就是一个文件路径。
我一直没法成功运行 python django-admin.py
,每次都会遇到你说的那个错误。
确保 .py 文件是和 python
关联的。你可以通过文件属性(打开方式...)来检查,或者在命令提示符里输入 assoc .py
来查看。
我之前也遇到过类似的问题,使用的是稍微新一点的Python 2.7.x和Django,但问题不在于PATH。下面是我在Windows XP上解决这个问题的步骤:
- 找到一个.py文件(随便哪个,甚至是空文件都可以)。
- 右键点击这个文件,选择“打开方式>”,然后选择“选择程序...”。
- 这时会弹出一个程序列表,选择
python
,并勾选“始终使用选择的程序打开这种文件”,然后点击确定。
勾选这个选项会重置文件关联,从而解决命令行中的这个问题。
问题的原因是:Windows默认把.py文件设置为用文本编辑器打开。