print 'Hello, World!'
Это прекрасно работает на любой реализации Python, достойной этого имени. Так же будет и с большинством других чисто Python-кодов. Сложность возникает при использовании библиотек, так как в Jython и IronPython отсутствуют некоторые стандартные библиотечные модули и они не поддерживают расширения C. Работа с кодом, специфичным для платформы, также может представлять некоторые проблемы.
Если вы хотите, чтобы ваш код был переносимым, вам нужно удалить как можно больше зависимостей из общего кода. Стандартная библиотека, как правило, в порядке (но не полная), а внешние модули на чистом Python, как правило, в порядке, если они зависят только от других модулей на чистом Python.
Если вам нужно их обнаружить, я считаю, что канонические проверки:
if os.name == 'java': # Jython
if sys.platform == 'cli': # IronPython
Ни Jython, ни IronPython не будут создавать программы, которые будут работать без присутствия Jython / IronPython. В принципе это возможно, и даже возможно скомпилировать подмножество Python в чистый байт-код; первый требует компоновки в движке Python, а второй потребует ограничения того, какие части Python вы можете использовать.
Если бы кто-то предоставил это для IronPython, я бы не отказался, и я сомневаюсь, что команда Jython тоже бы сделала это, но я не задерживаю дыхание. Любой из вариантов много работы.