【问题标题】:python command line ok in python shell but not through windows cmdpython命令行在python shell中可以,但不能通过windows cmd
【发布时间】:2012-12-19 18:13:14
【问题描述】:

我正准备从 cmd windows 默认 shell 测试 ftpmirror 内置脚本(python322,winXP 32bits)并得到这个:

File "C:\Program Files\python322\Tools\Scripts\ftpmirror.py", line 161
print('Skip pattern', repr(pat), end=' ')
                                    ^
SyntaxError: invalid syntax

我直接在 python shell 中测试了 print() 行,通过 cmd 并在空闲状态下(也在搅拌机中):这项工作非常有效。

我用这样的 coucou.py 文件重现了错误:

#! /usr/bin/env python3
pat = 'toto'
print("Skip pattern", repr(pat), end=" ")

直接从 cmd 提示符调用时:

C:\Program Files\python322\Tools\Scripts>coucou.py

与 ftpmirror 相同的错误 但是:

C:\Program Files\python322\Tools\Scripts>python coucou.py

没问题

而且我的环境还可以,我可以通过双击 .py 文件直接从 windows ui 执行 py 脚本,当从 .bat 调用时,我的工作脚本工作正常

我不明白,它看起来特定于 print() 结束参数,关于从 windows cmd shell 执行 python3 的方式我还没有读到什么?

谢谢,

杰罗姆

【问题讨论】:

  • 您的计算机上是否还安装了 Python 2.x?

标签: python windows printing cmd syntax-error


【解决方案1】:

尝试在双击或从命令行运行python 时检查是否正在运行相同的python 解释器。

将此内容保存在.py 文件中并尝试使用两种方法运行它:

import sys
print sys.version_info

我敢打赌,您在每种情况下都使用不同的口译员。

【讨论】:

  • omg...非常感谢...对不起... PYTHONPATH=C:\Progra~1\python322\;C:\Progra~1\python266 我的系统一团糟:)跨度>
  • 'open with...' on the py file REFUSES to let me choose python322 because of a dummy case (266/python.exe and 322/python.exe share the same name.) 所以我直接编辑注册表并将 HKEY_CLASSES_ROOT\Python.File 中对 266 路径的任何引用替换为 322 路径。现在看起来还可以。如果您希望能够在右键单击 py 文件时使用“打开方式”在不同的 python 版本之间进行选择,可以复制每个 python.exe 并重命名为 python266.exe、python272.exe 322 等,然后在何时选择它们配置“打开方式”(或者我打赌一个人也可以阅读 python 文档?)
猜你喜欢
  • 2011-07-12
  • 2019-08-27
  • 2015-01-15
  • 2019-01-13
  • 2019-12-30
  • 2018-12-19
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
相关资源
最近更新 更多