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
.