Упаковка кода Python для долгосрочной совместимости

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

Недавно мы начали использовать python 3.4 под Linux для разработки нашего кода. Это обновление с нашего старого языка, Powerbasic работает на DOS.

Через 10 с лишним лет мы должны быть в состоянии:

  • Создайте новую станцию ​​с той же функциональностью, которую мы можем построить сейчас
  • Запустите весь код, который мы написали
  • Внесите небольшие исправления в код

Проблемы у нас есть:

  • Используемая нами ОС Linux (Ubuntu 14.04) обновит некоторые функции и сломает наш код.
  • Некоторые пакеты Python, которые мы используем, обновятся и станут несовместимыми, или иным образом перестанут быть доступными.

Мы рассмотрели несколько вариантов. cx_freeze выглядит наиболее многообещающим, хотя он упаковывает скомпилированные файлы, а не исходный код, что делает небольшую ошибку, устраняющую неприятности (либо нам нужно повторно заморозить фиксированный код, который может не работать на 10-летней машине или нам нужно скомпилировать соответствующие файлы и включить их в zip-папку cx_freeze).

Есть ли способ лучше? Есть ли другие ситуации, о которых нам нужно беспокоиться?

0 ответов

Другие вопросы по тегам