Pyinstaller有关图标和写入捆绑文件的问题

时间:2019-11-14 13:09:00

标签: python pyinstaller

我正在使用Python 3.6.8和Linux Ubuntu 我有一个icon.ico图像,我想将其嵌入Pyinstaller中的exe文件中。 我尝试过

pyinstaller -F -i= 'icon.ico' main.py and 

pyinstaller -F --icon= 'icon.ico:.' main.py

我尝试了各种方法,但我无法使其正常工作...

我基本上有一个tkinter应用程序,我想从中制作一个exe文件。我创建了一个png文件,将其转换为图标,然后尝试加载它,但是我不确定它可以完成,... 。是否可以将image.ico分配给应用?或更改它们,我知道从.desktop有一种方法...您如何下载软件?

这是我正在使用的内部代码:

import os, sys
from con import * # this is just a configuration file that has g='play' in it.
import subprocess



def resource_path(relative_path):
    if getattr(sys, 'frozen', False):
        bundle_dir = sys._MEIPASS # for --onefile
        # bundle_dir = path.dirname(path.abspath(sys.executable)) # for --onedir
    else:
        bundle_dir = os.path.dirname(os.path.abspath(__file__))

    return os.path.join(bundle_dir, relative_path)


resource_path('data/bitbud.ico')


basedir = getattr(sys, "_MEIPASS", os.path.realpath(os.path.dirname(__file__)))
file=os.path.join(basedir, 'data/bell.mp3')
file2=os.path.join(basedir, 'data/testfile2.txt')
file3=os.path.join(basedir, 'data/bitbud.ico')

f=open('testfile1','w')
f.write('This has worked')
f.close()

f=open(file2,'a')
f.write('append also works')
f.close()

#if 'play' == g:

try:
    subprocess.call(['/usr/bin/cvlc',file],timeout=6)
except:
    pass

f1=open(file2,'r')
f=open('testfile3','w')
readit='The app has inside it:' +f1.read()
f.write(readit)
f.close()
f1.close()

1 个答案:

答案 0 :(得分:0)

适合您的一行:D

  1. 以捆绑方式获取文件
@IBAction class func aaaa() { // Error here 
    ////
}
  1. 第一次运行def resource_path(relative_path): if getattr(sys, 'frozen', False): bundle_dir = sys._MEIPASS # for --onefile # bundle_dir = path.dirname(path.abspath(sys.executable)) # for --onedir else: bundle_dir = path.dirname(path.abspath(__file__)) return path.join(bundle_dir, relative_path) --- resource_path('assets/file.jpg') 后编辑some.spec文件,添加如下所示的参数:
Pyinstaller