【发布时间】:2020-06-23 23:04:33
【问题描述】:
我使用 Pygame 在 python 中开发了一个游戏。到目前为止,使用 pyinstaller 捆绑它在捆绑它并在另一台机器上运行时给我带来了零问题。 Steam 可以安装游戏,然后导航到其本地目录并启动 .exe 将允许游戏运行,但是每当我尝试通过 Steam 启动器运行它时,它都会告诉我文件丢失,即使我知道它们在本地安装目录。
关于可能导致此类问题的任何想法?
【问题讨论】:
-
这样的事情你可能可以直接联系steam。
-
目前正在这样做。想在此期间我会来这里。
-
检查您的程序试图从中加载文件的目录实际上是当前目录。在启动等时记录
os.getcwd()。也许它类似于"C:/SteamLauncher/",而您的代码期待"C:/SteamLauncher/MyInstaller/Files/"。如果您发现这是问题所在,请用解决方案回答您自己的问题。上周有人问了一个类似的(未回答的)问题,这是一个常见问题。 -
程序可以在不同的文件夹中运行,然后您期望它可能需要
os.path.dirname(__file__)或os.path.dirname(sys.argv[0])等来获取运行代码的文件夹并使用此路径加载文件。 Determining application path in a Python EXE generated by pyInstaller -
这是有道理的。我现在正在联系 Steam 支持,询问 Steam 是否会在启动时更改当前工作目录。我会报告我的发现,以便妥善解决。
标签: python pygame pyinstaller steam file-not-found