使用 py2app 编译的程序,现在无法处理 sys.argv[1] 参数

Compiled program with py2app, now unable to handle sys.argv[1] argument

我有一个程序可以 运行 作为

> python transactions.py file.csv

处理提供的 CSV 文件。

我想把它编译成可执行文件,这样我的朋友就可以使用它而不必安装它需要的所有包。

py2app 编译应用程序,在 'Alias' 模式下我能够成功 运行 应用程序

> ./dist/transactions.app/Contents/MacOS/transactions.csv

但是当我完成实际的编译并且有一个 /dist/transactions.app/ 目录已创建,每当我尝试 运行

> open /dist/transactions.app file.csv

程序失败

> 1/29/15 1:05:11.190 PM transactions[25848]:     txn_csv = sys.argv[1]
> 1/29/15 1:05:11.190 PM transactions[25848]: IndexError: list index out of range

在我的程序中将变量设置为 sys.argv[1]

的行之后

我做错了什么,我如何 运行 这个程序使用来自 sys.argv[1] 的 CLI 参数的输入?

编辑:

您使用的 open 错误。

启动应用程序的正确命令是:

open /dist/transactions.app --args file.csv