我使用Pygame模块编写了一个程序,并尝试使用它创建一个.exe
,我可以与朋友分享。在我的Python脚本目录中,我有一个包含.py
文件的文件夹和一个名为images
的文件夹,其中包含程序中使用的图像。该程序可以正常工作.py
,但只要我通过pyinstaller将其转换为.exe
它就无法工作。
以下是最低限度的功能示例:
import os
import pygame
def load_image(name):
fullname = os.path.join("images", name)
image = pygame.image.load(fullname)
return image
pygame.init()
screen = pygame.display.set_mode((500,500))
image = load_image("image.bmp")
clock = pygame.time.Clock()
while True:
screen.blit(image,(0,0))
pygame.display.flip()
clock.tick(60)
pygame.quit()
我使用pyinstaller --onefile example.py
编译它。
然后我从命令执行并收到以下错误:
Traceback <most recent call last>:
File "<string>", line 11 in <module>
File "<string>", line 6 in load_image
pygame.error: Couldn't open images\image.bmp
example returned -1
我认为这与本地路径和全局路径有关,但无论我多么愚蠢,我似乎都无法启动并运行。
使用pyinstaller时,我需要更改什么才能打开图像文件?
答案 0 :(得分:1)
您需要告诉pyinstaller有关数据文件的内容,例如:
pyinstaller --add-data 'images/image.bmp:.' --onefile example.py
来自(DOCS)