Nuitka擅长将Python编译为可执行二进制文件。 但是编译后的二进制文件会从原始绝对路径中找到其他资源文件。 因此,要移动到另一台计算机,需要使目录树与原始目录树相同。
例如,如果我编译这样的项目:
/home/me/myproj/
╠═ myprog.py
╚═ resource
╚═ foo.data
我应该将生成的二进制文件和资源放在另一台计算机的同一位置。 如何解决这个问题?
我更简单的峰值是:
# /home/me/myproj/spike.py
import os
print(os.path.dirname(__file__))
编译之后,移至任何其他位置,我总是得到/home/me/myproj
的结果。
如果将编译后的/another/path
移至myproj.bin
,则需要类似/another/path
的结果。