【问题标题】:Issues running python scripts in Command Prompt (Specifically with command line arguments)?在命令提示符中运行 python 脚本的问题(特别是命令行参数)?
【发布时间】:2011-01-27 02:06:00
【问题描述】:

我正在尝试在命令提示符中运行我的 python 脚本,而无需先调用 python.exe。我专门针对运行 django-admin.py 执行此操作。我的 PATH 中有 C:\Python26 和 C:\Python26\Scripts。但是,如果我尝试通过以下方式运行 django-admin.py:

django-admin.py startproject helloworld

我收到消息:键入“django-admin.py help”以了解用法。

现在,经过一些实验,我意识到问题在于这些脚本的次要参数由于某种原因没有被传递,因为我用我拥有的其他一些 python 脚本进行了尝试。我知道我可以通过简单地避免这个问题:

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

但我知道应该可以只运行第一个命令并让它工作,因为我之前有它工作过。我到处看了看,没有多少地方有帮助,所以在这一点上任何想法对我都有用。

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

【问题讨论】:

  • DOS?我很惊讶 Django 会在 DOS 中工作,因为明显缺乏健全的 TCP/IP 支持。
  • 可以安全地假设 OP 意味着 Windows 上的 MS-DOS,因为自 2.4 以来没有将 Python 移植到真正的 DOS。实际上,它能够联网。但它自带了自己的套接字库和驱动程序,而 DOS 没有。
  • OP 肯定是“命令提示符”的意思。
  • 对不起,是的,我的意思是 MS-DOS 或命令提示符。写这个问题的时候真的很累。
  • 我在使用 Django 1.1.1 和 Python 2.5 时遇到了同样的问题

标签: python scripting command-prompt


【解决方案1】:

检查assocftype。如果设置正确,您可以运行带有参数的.py

> 关联.py .py=Python.文件 > ftype Python.文件 Python.File="C:\Python26\python.exe" "%1" %*

根据您的 Python 的安装方式,这些可能存在也可能不存在。您可以使用assocftype设置它们。

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

另外,如果.py 包含在PATHEXT 环境变量中,您可以运行.py 文件,而不需要尾随.py

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

【讨论】:

  • 我已经检查过了,所有这些设置都正确,但我仍然遇到同样的问题。我尝试卸载并重新安装python,但这无助于解决问题。
【解决方案2】:

我知道这是一个旧线程,但我已经搜索了几个星期来寻找同样的问题,但一无所获。 然而,今天我尝试了一些新的东西:

如果您使用的是 Windows 7,请不要将命令提示符用于脚本目的。

改为使用位于:All Programs -> Accessories -> Windows PowerShell -> Windows PowerShell 的 Windows PowerShell。如果您在环境路径中添加了正确的路径,则可以在那里运行命令django-admin.py startproject mysite

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2013-08-29
    • 1970-01-01
    • 2019-05-28
    相关资源
    最近更新 更多