Руководства, Инструкции, Бланки

Cx Freeze Инструкция img-1

Cx Freeze Инструкция

Рейтинг: 4.9/5.0 (1756 проголосовавших)

Категория: Инструкции

Описание

Как заставить cxfreeze генерировать exe в ubuntu? Development

Нужно «собрать» скрипт на питоне для дальнейшего запуска в оффтопике (без pm ставить питон и библиотеки к нему - удовольствие ниже среднего).

Для этого выбрал cxfreeze, ибо работает в ubuntu. Но при запуске в ubuntu он генерирует elf файл и so библиотеки. Ключа «для винды», на первый взгляд, нет.

Можно ли им сделать exe файл прямо из ubuntu, не устанавливая альтернативные ОС?

Скрипт на питоне №3, использует pyside.

Can I use PyInstaller as a cross-compiler?

Can I package Windows binaries while running under Linux?

No, this is not supported. Please use ?Wine for this, PyInstaller runs fine in Wine. You may also want to have a look at ?this thread in the mailinglist. In version 1.4 we had build in some support for this, but it showed to work only half. It would require some Windows system on another partition and would only work for pure Python programs. As soon as you want a decent GUI (gtk, qt, wx), you would need to install Windows libraries anyhow. So it's much easier to just use Wine.

Я думаю, для cxfreeze подход подобен.

Ответ на: комментарий от strangeman 26.03.2013 14:00:38

Ответ на: комментарий от strangeman 26.03.2013 14:03:40

Вообще, судя по документации, за тип бинарника отвечает параметр base:

First off, we separated the Executable class from the setup class and assigned the Executable class to a variable. We also added a second parameter to the Executable class that is key. That parameter is called “base”. By setting base=”Win32GUI”, we are able to suppress the console window.

Есть ещё такой вариант: положить свою программу на питоне и используемые модули в архив myProgram.zip и запускать как python.exe myProgram.zip из bat скрипта. Тут только желателен портабельный питон, наверняка есть такие сборки.

Ответ на: комментарий от firestarter 26.03.2013 15:21:45

Да просто прикладывается питон.ехе и библиотоеки + батничек для запуска. Питон под виндой на самом деле не требует установки.

Ответ на: комментарий от AIv 26.03.2013 15:57:04

Другие статьи

Python 3

Python 3. Компиляция в EXE и MSI. Python 3. Компиляция в EXE и MSI.

Запись от Фаер размещена 16.05.2014 в 17:46
Обновил(-а) Фаер 23.09.2016 в 18:11

Наверняка, у каждого Python -программиста возникало непреодолимое желание, а иногда и реальная потребность, скомпилировать свой .py-файл в исполняемый .exe. Нынче в интернете можно найти множество подробных описаний данной процедуры, однако практически все они списаны слово в слово из не очень компетентного источника, поэтому в скором времени последователь этих методик заходит в тупик(испытано на себе). Я же, имея некоторый опыт в этой области, намереваюсь расписать Вам рабочий рецепт компилирования .py в .exe, не забыв при этом упомянуть способы решения самых распространённых проблем сборки.

Насколько мне известно, единственная утилита, которая может с более или менее устойчивым успехом компилировать приложения(и которой я уже почти год успешно пользуюсь) - это cx_Freeze. Найти её и скачать, я думаю, Вы сможете самостоятельно.

Подавляющее большинство методов(точнее один и тот же, просто расположенный в разных местах) упирается в использование файла .bat в качестве инициализатора процедуры компиляции, проводимой cx_Freeze. Я этот рецепт опробовал и скажу Вам: очень плохой метод. Я думал, намного лучше будет. Именно поэтому Мы пойдём в другую сторону.

Итак, первое, что Нам нужно - это установленная утилита cx_Freeze. После установки в каталоге python33 (или где у Вас Python расположен) появится папка Scripts. в которой уже должны быть кое-какие файлы. Давайте создадим в этом каталоге папку dist (так уж принято её называть) и закинем в неё скрипт, который хотим скомпилировать.

Теперь опишем такой файл-инициализатор:

Может Вы ещё не поняли, я поясню: файл, который будет компилировать Python -скрипты, сам является таковым. Сохраняем этот файл под именем setup.py в том же каталоге, что и скрипт, который хотим скомпилировать(где-то в области xxx\python33\Scripts\dist ).

Так, теперь, примера ради(и чтобы сразу закрыть тему переноса Python GUI в плоскость .exe), напишем такой скрипт:

Будем считать, что скомпилировать Мы хотим именно этот скрипт. Начинать-то нужно с малого. Сохраним его под именем script.py. Это же имя Вы можете увидеть в последней строке файла setup.py. под атрибутом script .

Конечно, Вы не могли не заметить импортирования модуля re. Дело в том, что ни один скомпилированный .exe-файл не будет работать, если в нём не импортируется re. Запомните это! Хотя, если забудете, неработающий .exe выдаст ошибку, Traceback которой напомнит Вам, что к чему.

Теперь внимательно! Поднимаемся на один каталог вверх. Если компилируемый и компилирующий файлы находятся в каталоге dist. то после подъёма Вы должны увидеть папку c именем dist. Кликаем на неё правой кнопкой мыши и нажимаем "Командная строка". В появившейся консоли пишем следующую команду:

И нажимаем клавишу Enter. По консоли должны побежать надписи. Как только они остановятся и Вы увидите курсор для ввода, можете закрыть консоль, зайти в каталог dist/build/exe.win32-#.# и отыскать свой .exe файл. Вот и всё!

Конечно, трудно не обратить внимание на сопутствующие файлы, которых будет достаточно много. Могу сказать только одно: не трогайте их! cx_Freeze в эти самые файлы зашивает интерпретатор Python и все нужные для выполнения скрипта модули, так что изменять их или удалять - это плохая идея. В принципе, существует метод заливания всего этого добра в один самораспаковывающийся архив. Делается это с помощью стандартной утилиты Windows(по крайней мере, в XP она точно есть), однако я описывать этот метод не буду, потому что считаю его нерабочим(проверено на практике). Более того, разработчики утверждают, что сшивать всё в один файл нежелательно, потому что сжимающие утилиты используют не совсем корректный подход к проблеме, из-за чего антивирусы могут распознать в Вашем файле угрозу.

Не забывайте о таком замечательном предмете, как ярлыки. Они помогут Вам и Вашим пользователям запускать скомпилированный скрипт прямо с рабочего стола, без долгого поиска .exe среди множества других файлов. (Создавать ярлыки, я думаю, все умеют).

В принципе, если Вы допустите какую-нибудь ошибку при компилировании скрипта, Вы увидите соответствующий Traceback при запуске .exe, но есть некоторые проблемы(с которыми я уже сталкивался), которым я хотел бы уделить внимание.

Слёт кодировки:
Во-первых, при компилировании скриптов очень часто возникают проблемы с символьными данными, в частности, все русские буквы превращаются в, так называемые, кракозябры. Дабы зафиксировать этот баг, в начале каждого компилируемого скрипта прописывайте две команды:

До сих пор мне этот метод помогал, так что рекомендую его не просто так. Советую, кстати, писать эти строки во всех компилируемых скриптах. Обычно на компьютере программиста всё путём, а на клиентском иероглифы, так что лучше заранее подготовиться.

Пронос файлов:
Если в Вашем приложении предусмотрено взаимодействие с графическим интерфейсом, а оно, скорее всего, так и есть, Вам может понадобиться несколько картинок или, к примеру, звуковых файлов. Не слушайте тех, кто говорит, что эти файлы нужно предварительно сериализовывать, упаковывать или что-то в этом роде. На самом деле, Вам нужно просто взять эти файлы и скопировать в папку с уже скомпилированным файлом .exe. Например, в моём скрипте встречается такая строка:

Вот я беру, компилирую файл, открываю каталог, в котором он находится, создаю папку icons и добавляю туда файл pa.gif. Этого будет достаточно.

Иконка для .exe:
Это достаточно интересная и очень простая часть. Для того, чтобы прицепить к своему .exe-файлу иконку, в конце файла setup.py нужно прописать соответствующую команду:

Основным здесь является, естественно, параметр icon. обращаться с которым не так уж трудно.

Отсутствующие dll:
Это ещё одна возможная проблема. Бывает, при запуске пользователь получает окно с надписью: "MSVCR100.dll отсутствует, попробуйте переустановить программу." или что-то в этом роде. Чтобы решить эту проблему, клиенту нужно установить MS Visual Studio. обычно 2010. Разумно поставлять установочный файл данной утилиты в одной упаковке со своим приложением.

Сборка установочного файла:
С этого, пожалуй, нужно было начинать. Для удобства переноса/передачи скомпилированное приложение можно сразу замешать в .msi-файл. Это стандартный установочный файл Windows, который при запуске предложит пользователю выбрать каталог установки и распакует туда все данные. По-прежнему, это не даёт возможности собрать всё приложение в один .exe файл(если честно, я даже не знаю, зачем это нужно). Сделать .msi-файл можно, запустив в консоли команду:

Так же, как build. Собранный файл можно найти в каталоге dist. который появится в первом dist. то есть python33/Script/dist/dist .

Новости по поводу книг:
"Python 3 GUI Pmw" не получается дописать из-за того, что сам Pmw и другие GUI модули не работают с Python 3. Написанная часть руководства по Pmw будет добавлена в первую книгу Python 3 GUI. Смешивание и заключительное редактирование закончится, предположительно, в пределах недели.

К слову, на сегодняшний день существует такая программа, как Компилятор Бозон. позволяющая посредством графического интерфейса установить все параметры сборки. Никаких больше консолей, выписывания файлов setup и всего такого. Вы можете десятками прикреплять файлы в пару кликов, автоматически определять дополнительные пакеты и напрочь забыть об ошибке MSVCRT100.dll - решение вшито (в полной версии).

Just yet another blog: Собираем поставку python-приложения используя cx_Freeze


Когда я закончил работу над скриптом для распознавания текста то столкнулся с неожиданной проблемой. Дело в том что компьютер на котором его планировалось запускать работает под управлением ОС Windows и у оператора нет возможности установить python и необходимые библиотеки. Я столкнулся с таким препятствием впервые так как раньше мои скрипты применялись только на компьютерах с *nix системами, а там поставить все необходимое из репозитория не проблема. Решить вопрос я смог при помощи cx_Freeze. Свой опыт по его использованию я решил изложить в этом небольшом мануале.

Анамнез

cx_Freeze это набор скриптов и модулей для сборки поставки приложения из python скриптов. Является прямым конкурентом py2exe и py2app в отличии от них является кросс-платформенным и потенциально способен работать на любой платформе на которой работает сам python.

Фреймворк опубликован под лицензией PSF .

Первое что вам потребуется сделать - установить пакет cx_Freez. Проще всего это можно сделать при помощи pip.
После этого, в папке скрипта который должен быть собран, необходимо создать скрипт сценария сборки. По конвенции он может иметь любое имя, я же назвал свой "setup.py". Ниже приведен пример скрипта сборки для проекта Dummy OCR :

Параметры компиляции могут быть установлены как атрибуты конструктора объекта Executable. Также некоторые из них можно передать через словарь из параметров (в примере build_exe_options). Ниже рассмотрены основные опции компиляции приложения и описание:

Имя файла скрипта. Нельзя передать через словарь параметров.

Инициализирующий скрипт. Будет выполнятся перед выполнением основного скрипта. Как правило применяется для конфигурации окружения. Нельзя передать через словарь параметров.

Тип приложения. По факту имя исполняемого файла-болванки для целевой платформы который будет использован. Можно задать свой но записав абсолютный путь, иначе путь следует указывать начиная от поддиректории cx_Freeze.
Для Windows из коробки поддерживаются следующие варианты:
  • Console
  • Win32GUI
  • Win32Service
Нельзя передать через словарь параметров.

Список путей где будет проводится поиск. Нельзя передать через словарь параметров.

Cоздание исполняемого файла

Cоздание исполняемого файла.

Для начала нужно зайти на сайт cx-freeze.sourceforge.net и скачать версию модуля cx_Freeze для своей операционной системы, также для пайтона. У меня Windows и Panda 1.7.2 соответственно пайтон 2.6, я скачал: Windows Installer (Python 2.6)

Установка cx_Freeze проста, инсталятор определит директорию где расположен пайтон автоматически, вам нужно убедиться что это директория панды, если это не так то укажите папку пайтона в панде.

И так чтобы не запутаться создадим отдельную папку и назовём её “Game”, в названии и адресе папки не должно быть кириллицы и пробелов во избежание дальнейших проблем. В папке “Game” создадим файл “Panda.py” который мы будем упаковывать с помочью cx_Freeze, я выразился словом упаковывать, т.к. это не является компиляцией py файла в код, так же есть модуль py2exe который тоже упаковывает а не компилирует. Далее в папке “Game” надо создать папку “model” и скопировать туда модель из папки models\panda-model.egg.pz, далее создайте в папке “model” папку "maps" и скопируйте в неё текстуру из models\maps\panda-model.jpg Откроем файл “Panda.py” и создадим код для примера:

200?'200px':''+(this.scrollHeight+5)+'px');"> import direct.directbase.DirectStart
from direct.actor import Actor

base.disableMouse()
base.camera.setPos(0,-20,2)
pandaActor = Actor.Actor("model/panda-model")
pandaActor.setScale(0.005,0.005,0.005)
pandaActor.reparentTo(render)

Обязательно проверьте код на работоспособность.

Пришло время создать в паке “Game” файл с конфигурацией для упаковки. Назовём его “setup.py” в нем добавим код:

200?'200px':''+(this.scrollHeight+5)+'px');"> from cx_Freeze import setup, Executable

setup(
name = "Panda3D",
version = "0.1",
description = "Panda3D",
executables = [Executable("Panda.py")])

Пояснения: В данном файле из cx_Freeze импортируются необходимые классы. Подробней можно прочесть в документации. Самое необходимое в строке “executables = [Executable("Panda.py")])” где вносится имя файла(либо адрес и имя) который надо упаковать. Также в setup можно указать иконку и т.д. В документации имеется дополнительная информация.

Теперь в папке "Game" создадим файл “build.bat” кликните по нему правой кнопкой мыши и в меню действий выберите изменить, после этого он откроется в текстовом блокноте и добавьте в него строчки:

200?'200px':''+(this.scrollHeight+5)+'px');"> C:\Panda3D-1.7.2\python\python.exe setup.py build
pause

Пояснения: У вас директория где установлена панда может быть иначе, исправьте “C:\Panda3D-1.7.2” на ту в которой у вас находиться панда. “pause” для того чтоб не закрывалась консоль в ней будет отображаться процесс упаковки и ошибки.

Теперь можно запускать “build.bat”, Если упаковка прошла успешно то появится в папке “Game” папка “build” а в ней папка “exe.win32-2.6” имя может отличатся. В ней будет много файлов, среди которых будет “Panda.exe“ но пока рано его запускать, надо сделать копию папки bin из папки панды, далее открыть копию упорядочить файлы по типу и удалить все файлы с расширением “exe” и те что остались скопировать в папку “exe.win32-2.6” и согласиться на замены. Так же нужно скопировать в папку “exe.win32-2.6”, папку настроек “etc” из папки панды. Теперь последний шаг надо скопировать папку “model” из “Game” которою мы создавали, в папку “exe.win32-2.6”. Ну… можно запускать.

Заключение: если сжать содержимое папки “exe.win32-2.6” в архив то размер будет всё таки большой. У меня 25 мегабайт, но размер можно уменьшить. Я до копирования содержимого папки “bin” в папке “exe.win32-2.6” оставил только файлы “Panda.exe”, ”library.zip”, ”unicodedata.pyd”. Остальные принадлежали wx и tk они для запуска не нужны. И размер у меня получился 20.7, в папке “bin” также можно найти ненужные файлы, например dll от экспортёров maya, библиотеки DX - libpandadx8.dll не думаю что нужна))) Ну чтоб понять насколько можно сжать сделайте хорошую игру, а пираты покажут как надо удалять и сжимать))) Всё.

Внимание и за особенностей системы uCoz в коде бывают лишнии пробелы.

P.S. у меня получилось сжать этот пример до

Блог JOHN_16: Python: как обойти ошибку cx_freeze при сборке с модулем obspy

Попытка сборка на ОС Windows заканчивается ошибкой при выполнении программы "Import error: could not load shared library from obspy.signal". Я расскажу как быстро преодолеть эту ошибку.

Obspy динамически подгружает pyd модули в obspy/signal/headers.py:27-28 и 49-50. Причем происходит формирование относительного пути до них, переходя на 1 уровень вверх в директорию Lib. Проблема в том что cx_freeze об этих pyd файлах заранее не знает, поэтому и не включает их при сборке. Если мы зададим в конфигурационном файле включения этих файлов, то не получим желаемый результат. Потому что headers.py рассчитывает их найти в. /Lib, а файлы копируются в корень сборочной директории build, что на несколько уровней выше ожидаемого. Как правильно разрешить этот конфликт я не знаю, поэтому пошел по пути быстрого, но не элегантного решения.

1. Сделаем себе копию файла headers.py и поместим в директорию проекта.

2. Сделаем две замены

C.CDLL(os.path.join(os.path.dirname(__file__), os.pardir, 'lib', lib_name + lib_extension))

C.CDLL(os.path.join(os.path.dirname(__file__), os.pardir,os.pardir,os.pardir, 'lib', lib_name + lib_extension))

3. Запишем файл setup.py следующим образом

from cx_Freeze import setup, Executable
import os,shutil
#my_hack
os.rename(r'C:\Python27\Lib\site-packages\obspy\signal\headers.py', r'C:\Python27\Lib\site-packages\obspy\signal\headers.py.backup')
shutil.copy('headers.py', r'C:\Python27\Lib\site-packages\obspy\signal/')

# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = ['numpy','obspy','obspy.signal','scipy','matplotlib.backends.backend_tkagg'], include_files=[r'C:\Python27\Lib\site-packages\obspy\lib']. excludes = [])

import sys
base = 'Win32GUI' if sys.platform=='win32' else None

executables = [
Executable('calcsi_gui.py', base=base)
]

setup(name='calcsi_gui',
version = '1.0',
description = '',
options = dict(build_exe = buildOptions),
executables = executables)

#release my hack

os.remove(r'C:\Python27\Lib\site-packages\obspy\signal\headers.py')
os.rename(r'C:\Python27\Lib\site-packages\obspy\signal\headers.py.backup', r'C:\Python27\Lib\site-packages\obspy\signal\headers.py')

Жирным выделены необходимые правки. Фактически на время сборки будет происходить подмена оригинального headers.py на модифицированный.

Ежедневное использование, 4 режим fast freeze («быстрое замораживание»), 1 перед первым использованием

Ежедневное использование, 4 режим fast freeze («быстрое замораживание»), 1 перед первым использованием – Инструкция по эксплуатации Electrolux ENN2853AOW

Однако, точную задаваемую температуру сле?

дует выбирать с учетом того, что температура

внутри холодильника зависит от:
• температуры в помещении
• частоты открывания дверцы
• количества помещенных в холодильник

• места, в котором он расположен.

2.4 Режим Fast Freeze («Быстрое

Нажмите на кнопку Fast Freeze для включения

функции быстрого замораживания Fast

Загорится индикатор Fast Freeze.

Эта функция автоматически выклю?

чается через 52 часа.

Данную функцию можно отключить в любое

время нажатием на кнопку Fast Freeze. Инди?

катор Fast Freeze выключится.

2.5 Функция FreeStore

Функцию FreeStore можно включить, нажав на

Загорится индикатор FreeStore.

Функцию можно в любой момент отключить,

нажав на выключатель FreeStore.

Индикатор FreeStore погаснет.

При автоматическом включении

функции индикатор FreeStore не заго?

рается (см. «Ежедневное использо?

Включение функции FreeStore увели?

чивает потребление электроэнергии.

3. ЕЖЕДНЕВНОЕ ИСПОЛЬЗОВАНИЕ

3.1 Перед первым использованием

Перед первым включением прибора вымойте

его внутренние поверхности и все внутренние

принадлежности теплой водой с нейтральным

мылом, чтобы удалить запах, характерный

для недавно изготовленного изделия, затем

тщательно протрите их.

Не используйте моющие или абра?

зивные средства, т.к. они могут по?

вредить покрытие поверхностей при?

3.2 Замораживание свежих

Морозильная камера предназначено для за?

мораживания свежих продуктов и продолжи?

тельного хранения замороженных продуктов,

а также продуктов глубокой заморозки.

Для замораживания свежих продуктов вклю?

чите функцию Action Freeze не менее, чем за

24 часа до закладки подлежащих заморажи?

ванию продуктов в морозильную камеру.

Уложите подлежащие замораживанию свежие

продукты в нижнее отделение.

Максимальное количество продуктов, которое

может быть заморожено за 24 часа, указано

на табличке технических данных, располо?

женной внутри прибора.

Процесс замораживания занимает 24 часа. в

течение этого периода не следует помещать

в морозильную камеру новые продукты, под?

3.3 Хранение замороженных

При первом запуске или после длительного

простоя перед закладкой продуктов в отделе?

ние дайте прибору поработать не менее 2 ча?

сов в режиме ускоренной заморозки.

Компиляция программы на python 3 в exe с помощью программы cx_Freeze

Компиляция программы на python 3 в exe с помощью программы cx_Freeze

Наверняка, у каждого Python-программиста возникало непреодолимое желание, а изредка и реальная потребность, скомпилировать свою программу на python в exe файл. Сегодня я расскажу, как это сделать с помощью программы cx_Freeze.

Вопрос 1: а оно надо?

Прежде, чем начинать компилировать программу, нужно убедиться, что это действительно необходимо.

"Компиляция" программы на python - процесс, который может сопровождаться множеством проблем. Более того, это не компиляция в машинный код, как, например, программы на C, а лишь "сборка" в исполняемый файл вашей программы вместе с частью интерпретатора python.

Поэтому, если вы будете использовать программу сами или на компьютерах тех, кто её будет использовать, будет стоять интерпретатор python, то вам не нужно её компилировать.

Установка cx_Freeze

Если компилировать программу на python всё-таки нужно, то скачиваем cx_Freeze с http://www.lfd.uci.edu/

gohlke/pythonlibs/#cx_freeze (так как в ней нет одного неприятного бага, который есть в официальной версии ).

Затем устанавливаем, не забывая правильно выбрать директорию, где расположен python.

Создаём в папке с программой файл setup.py с содержимым:

Переходим в командную строку (обычно Пуск > Стандартные > Командная строка). Переходим в папку с программой (в моём случае D:\Dima\py). Запускаем команду C:\Python34\python.exe setup.py build (вместо C:\Python34 нужно написать папку, куда установлен python).

Автохолод холодильные и холодильно-обогревательные установки

Сегодня продукция ПРАМОТРОНИК (см. История завода ) серийно устанавливается на конвейерах заводов КАМАЗ, МАЗ, АМАЗ, Лиаз, ГАЗ, УАЗ и др. производителей автотехники (см. карту партнеров ПРАМОТРОНИК ).

Прамотроник отличается от всех Российских отопителей, современным дизайном, меньшими габаритными размерами, комплектацией, качеством комплектующих, функциональностью:

1. Компактная конструкция (см. Конструкторский чертеж ) даёт возможность устанавливать отопитель (см. Пошаговая инструкция по установке отопителя ) в различных местах кабины, салона или фургона автомобиля, вольтаж 12 или 24 Вольта (см. Схему электрических соединений );

3. Топливный бак 12литров с полным монтажным комплектом (см. Фото );

4. Температурный выносной датчик кабины в комплекте (см. Упаковочный лист );

5. Мотор BUCHER MOTORS (Германия, производитель Чехия) (см. Фото );

6. Топливный насос Thomas Magnete (производитель Германия) полностью взаимозаменяем с WEBASTO (см. Фото );

7. Камера сгорания и (литой!) теплообменник с увеличенной поверхностью теплопередаи, по своей конструкции не имеют аналогов среди отопителей мировых производителей и защищены патентами (см. Каталог деталей и сборочных единиц );

8. Впрыск топлива посредством турбины (100% сгорание топлива – гарантия отсутствия закоксованности в камере сгорания, минимальное количество отказов по свечам);

9. Работа в автоматическом режиме. Поддерживет заранее заданную температуру водителем на пульте управления, а выносной датчик температуры позволяет поддерживать заданную температуру в определённом месте салона и кабины (см. Руководство по эксплуатации отопителя ПРАМОТРОНИК 4Д-12,24 );

10. Программа блока управления отопителем производит учёт времени работы отопителя, количество запусков и возникавшие неисправности, это позволяет при считывании этой информации, в сервисном центре, быстро устранить возникшую неисправность (см. Руководство по ремонту отопителей ПРАМОТРОНИК );

11. С пульта управления отопителем можно устанавливать комфортную вентиляцию (без нагрева) в летний период года (см. Алгоритм процесса "вентиляция" );

12. По заказу потребителей может комплектоваться «искрогасителем», что позволяет устанавливать его на автотранспорт перевозящий легковоспламеняющиеся и взрывоопасные вещества. Искрогаситель также является глушителем шума от выхлопных газов;

13. Низкий уровень шума, что является немаловажным фактором при эксплуатации отопителя «ПРАМОТРОНИК» в ночное время (см. Фото отопитель с пультом управления и глушителем );

14. Низкое потребление тока, что позволяет на стоянке автомобиля, не запускать двигатель в течении 2-3 суток для подзарядки аккумуляторной батареи (см. Технические условия на отопители ПРАМОТРОНИК ).