【发布时间】:2019-12-20 15:03:32
【问题描述】:
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的结果。
如果我将编译后的 myproj.bin 移动到 /another/path,我需要像 /another/path 这样的结果。
【问题讨论】:
-
谢谢,如你所说。
-
很高兴听到……不客气。大多数 Python 编译器都提供了某种方式来执行/控制
__file__中的内容,因为这是执行此类操作的一种相当常见的方式。 -
谢谢。我搜索了几天,没有找到明确的答案。非常高兴能这么快得到答复。真的感谢。我发布了new question。希望再次得到您的帮助。