PyInstaller 给我一个语法错误

PyInstaller giving me a syntax error

更新: 实际上,现在我已经检查过了,PyInstaller 对我拥有的每个脚本都说语法无效,即使是我之前用 PyInstaller 打包的脚本也没有任何问题。我卸载并重新安装了 PyInstaller,但它仍然有同样的问题。 PyInstaller 与 Python 3.5.1 不兼容吗?这是我唯一能想到的,从现在到一切正常时我可能已经更新了

原问题:我确定对于我做错的事情有一个非常简单和愚蠢的答案,因为我似乎找不到任何其他案例有这个问题的人。

我有一个脚本要打包成一个独立的可执行文件。过去,我使用 PyInstaller 时遇到的麻烦很少。 Py2exe 和 cx_freeze 从来没有为我工作过。我正在使用 Python 版本 3.5.1 和 PyInstaller 版本 3.2,我认为这是当前版本,因为我刚刚卸载并重新安装。

我尝试使用的命令太简单了,遇到麻烦我觉得自己像个白痴。

pyinstaller --onefile myscript.py

      File "<stdin>", line 1
        pyinstaller --onefile myscript.py


      SyntaxError: invalid syntax

它给出了一个通用的 SyntaxError: invalid syntax,即使那是直接来自 PyInstaller 文档的确切命令。

可以肯定的是,我还尝试在命令中包含脚本的完整路径,添加和删除引号,并尝试了我能想到的所有变体,但每次都给我相同的语法错误。

我几乎是个初学者,所以任何真正高级的修复都会让我头疼。但是就像我说的,我认为这是我错过的愚蠢的事情。提前致谢。

确保您的脚本没有任何语法错误。如果是这样,那么 pyinstaller 将重新抛出异常,这可能是原因之一。

语法错误是由您的命令本身引起的,而不是由它调用的代码引起的。

这部分非常具有指示性:

  File "<stdin>", line 1
    pyinstaller --onefile myscript.py

您实际上尝试 运行 在 Python shell 中执行该命令。

但它不是Python代码。您应该 运行 通常 shell (cli.exe, bash, …)

运行 在CMD中

你为什么运行它在pythonshell? python 语法有问题,因为它甚至没有定义。

>>> pyinstaller --onefile myscript.py

还有,顺便说一下。您甚至没有导入 PyInstaller 模块。 运行 您的 CMD 上的这一行:

pyinstaller --onefile filename.py