在命令提示符下运行Python脚本的问题(尤其是命令行参数)?

4 投票
2 回答
1382 浏览
提问于 2025-04-15 20:22

我想在命令提示符下运行我的Python脚本,而不需要先调用python.exe。我特别是在运行django-admin.py时这样做。我已经把C:\Python26和C:\Python26\Scripts添加到了我的PATH环境变量中。但是,当我尝试通过以下命令运行django-admin.py时:

django-admin.py startproject helloworld

我收到的提示是:输入'django-admin.py help'查看用法。

经过一些实验,我发现问题是这些脚本的后续参数没有被传递,原因不明,因为我还尝试了其他一些Python脚本。我知道我可以通过以下方式避免这个问题:

python C:\Python26\Scripts\django-admin.py startproject helloworld

但我知道应该可以只运行第一个命令就能让它工作,因为我之前确实能成功运行过。我到处找过,但没有找到太多有用的信息,所以现在任何建议对我来说都很有帮助。

更新:.py文件的关联设置是正确的,但问题仍然存在。

2 个回答

1

我知道这个话题已经很老了,但我找了好几周都没找到解决这个问题的方法。不过今天我试了点新东西:

如果你在用Windows 7,建议不要用命令提示符来写脚本。

可以试试Windows PowerShell,路径是:所有程序 -> 附件 -> Windows PowerShell -> Windows PowerShell。在这里,你可以运行命令django-admin.py startproject mysite,前提是你已经把正确的路径添加到了环境变量里。

顺便说一下,我现在在Windows 7 Ultimate 32位上用的是Python 2.7和Django 1.2.4。

4

检查一下 assocftype。如果设置正确,你就可以带参数运行 .py 文件了。

> assoc .py
.py=Python.File
> ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*

根据你安装 Python 的方式,这些设置可能会有也可能没有。你可以用 set 命令来设置它们,使用 assocftype

> assoc .py=Python.File
> ftype Python.File="C:\Python26\python.exe" "%1" %*

另外,如果 .py 被包含在 PATHEXT 环境变量中,你就可以在运行 .py 文件时不需要加上后缀 .py

> set PATHEXT=%PATHEXT%;.py
> django-admin startproject helloworld

撰写回答