Разработка программного обеспечения Python, которое будет работать в другой среде - PullRequest
1 голос
/ 01 июня 2019

Последние шесть месяцев я работал над приложением Python GUI, которое я буду использовать на работе.В частности, мой графический интерфейс будет работать на нескольких суперкомпьютерных кластерах, которые я использую для работы.

Тем не менее, я в основном разрабатываю программное обеспечение на своем персональном компьютере, и здесь у меня нет прямого доступа к командам, которые моиGUI будет вызывать, поскольку GUI будет использовать subprocess для вызова команд, которые доступны только в вычислительном кластере.

Итак, для эффективной разработки программы мне часто приходится копировать каталог, содержащий все файлы.связан с графическим интерфейсом, с кластером.Затем я проверяю свою текущую версию там, нахожу все свои ошибки, исправляю их, редактируя файлы в кластере, и, наконец, копирую все файлы на мой компьютер, перезаписывая старую версию.

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

Конечно, это распространенная проблема в разработке программного обеспечения ... Что на самом делепрограммисты (в отличие от программистов-хобби, таких как я)?

Редактировать: Примеры команд, которые доступны только в вычислительном кластере, которые я активно использую, это squeue, sacct иscontrol (команды, связанные с SLURM).

Edit2: Я мог бы упомянуть, что я тестировал использование соединений ssh ​​с Python, но он значительно замедлял команды, устанавливая соединение ssh для каждой команды, которую я хотел.Если я не смогу установить длительный сеанс ssh, как при входе в систему при открытии моей программы, я не думаю, что ssh-ing будет работать.

1 Ответ

0 голосов
/ 06 июня 2019

Изучите концепции, которые делают Vagrant популярным выбором для разработчиков

Vagrant - это инструмент для создания и управления средами виртуальных машин в одном рабочем процессе.Благодаря простому в использовании рабочему процессу и ориентации на автоматизацию, Vagrant сокращает время настройки среды разработки, повышает четность производства и заставляет «работы на моей машине» оправдывать пережитки прошлого.

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

Если вы понимаете и можете настроить свою разработкуВ среде с такими инструментами, как Vagrant, вы можете узнать, какие варианты предлагают современные редакторы кода или интегрированные среды разработки (IDE) для удаленной разработки.Удаленная разработка охватывает некоторые другие варианты использования, которые также могут вписаться в ваш инструментарий разработчика.

«Достаточно хорошим», бесплатным и открытым редактором исходного кода для разработки на Python является Visual Studio Code.Согласно документам, он обладает мощными функциями для удаленной разработки.

Удаленная разработка кода Visual Studio позволяет использовать контейнер, удаленный компьютер или подсистему Windows для Linux (WSL) в качестве полнофункциональной.среда разработки.

Чтение документов

...