Python:Mac上的Pyinstaller当前目录问题

时间:2019-02-23 02:32:01

标签: python operating-system directory executable pyinstaller

我创建了一个小脚本,希望在Mac和Windows上作为可执行文件运行。

我使用--onefile将可执行文件创建为一个文件,并且希望与可执行文件位于同一目录中。

在Windows os.getcwd()中使用pyinstaller后可以正常工作,但是在Mac上它可以恢复为基本路径:

> /Users/User
Traceback (most recent call last):
  File "test.py", line 93, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/Users/user/Invoices/'
[62121] Failed to execute script test
logout

当我将其作为.py文件运行时,它也会在Mac上获得正确的目录。

我尝试将os.getcwd()更改为os.path.realpath(__file__),但是在使用pyinstaller进行转换时,它仍然给出错误的路径。

我希望能够在Mac上移动可执行文件并使用其所在的任何目录。

1 个答案:

答案 0 :(得分:1)

事实证明,以下方法可行:

dir_path = slash.join(sys.argv[0].split(slash)[:-1])

这仅在Mac上使用可执行文件时有效。在Windows上,在运行python脚本时,我仍然使用os.getcwd。