Я пытаюсь написать этот код, и он отлично работает в pycharm. Но всякий раз, когда я пытался запустить его после преобразования в exe, он выдает мне сообщение «функция не имеет атрибута« read_exif »». Пакет, который я использую для этой функции, не установлен вручную, но он работает без ошибок в pycharm.
def Raw_Fits(self, raw_path, save_location):
paths = [raw_path]
bad_pixels = rawpy.enhance.find_bad_pixels(paths)
for path in paths:
with rawpy.imread(path) as raw:
rawpy.enhance.repair_bad_pixels(raw, bad_pixels, method='median')
rgb = raw.postprocess(no_auto_bright=True, use_auto_wb=False, gamma=None)
a = np.array(rgb)
print(a.shape)
filename = raw_path
raw_image = Raw(filename)
buffered_image = np.array(raw_image.to_buffer())
image = Image.frombytes('RGB', (raw_image.metadata.width, raw_image.metadata.height), a).convert('LA')
xsize, ysize = image.size
data1 = np.array(image.getdata())
print(data1.shape)
r = [(d[0]) for d in data1]
g = [(d[1]) for d in data1]
r_1 = np.array(r)
g_1 = np.array(g)
r_data = np.array(r_1.data)
g_data = np.array(g_1.data)
print(r_data.shape)
r_data = r_data.reshape(ysize, xsize)
g_data = g_data.reshape(ysize, xsize)
a = cr2fits(raw_path, 0)
a.read_cr2()
a.read_exif()
concat = r_data + g_data
hdu = fits.PrimaryHDU(data=concat)
hdu.header.set('OBSTIME', )
hdu.header.set('OBSTIME', a.date)
hdu.header.set('EXPTIME', a.shutter)
hdu.header.set('APERTUR', a.aperture)
hdu.header.set('ISO', a.iso)
hdu.header.set('FOCAL', a.focal)
hdu.header.set('ORIGIN', a.original_file)
hdu.header.set('FILTER', a.colors[a.colorInput])
hdu.header.set('CAMERA', a.camera)
hdu.writeto(save_location, overwrite=True)
print("Conversion Complete!")
Вот снимок экрана с проблемой, возникающей во время выполнения exe. Ошибка Sreenshot