UPDATE:实际上,现在我已经检查了,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文档的确切命令。
可以肯定的是,我还尝试在命令中包含我的脚本的整个路径,添加并取出引号,并尝试了我能想到的每个变体,但它每次都给我相同的语法错误。
我几乎是初学者,所以任何真正先进的修复都会超出我的想象。但就像我说的那样,我认为这是我错过的愚蠢行为。提前谢谢。
答案 0 :(得分:3)
语法错误是由命令本身引起的,而不是由它调用的代码引起的。
这部分非常具有说明性:
File "<stdin>", line 1
pyinstaller --onefile myscript.py
您实际上尝试在Python shell中运行该命令。
但它不是Python代码。你应该在通常的shell(cli.exe,bash,...)
中运行它答案 1 :(得分:0)
确保您的脚本没有任何语法错误。如果是这样,那么pyinstaller将重新抛出异常,这可能是其中一个原因。
答案 2 :(得分:0)
为什么要在python shell中运行它? python语法有问题,因为它甚至没有定义。
>>> pyinstaller --onefile myscript.py
而且,顺便说一句。您甚至都没有导入PyInstaller模块。 在CMD上运行以下行:
pyinstaller --onefile filename.py