Запустить другой скрипт с помощью pypy3 или python

#python #import #python-import #pypy

#python #импортировать #python-импорт #pypy

Вопрос:

Есть ли способ запустить основной скрипт в pypy3, но импортировать, скажем helper.py который будет выполняться / интерпретироваться обычным python? И наоборот?

Чтобы уточнить, допустим, у меня есть main.py что я хочу выполнить с pypy3 помощью. Этот скрипт импортирует помощника, и я хочу, чтобы весь скрипт helper.py выполнялся с python3 помощью. Или наоборот. Мне было интересно, есть ли что-то вроде import pyximport; pyximport install() , где затем компилируется импорт, в основном работающий / действующий по-другому, поскольку main.py . Мне было интересно, есть ли что-то подобное, что я могу сделать. В настоящее время я бы использовал pypy3 main.py и внутри main.py , получите subprocess.popen и выполните python helper.py , и просто передайте объект или результаты через стандартный вывод / канал. Любопытно, есть ли другие способы, которыми я мог бы это сделать.

Да, я знаю, вы спросите, зачем вообще это делать. В настоящее время я думаю об этом, поскольку повторение файла с помощью python в Windows намного быстрее, чем построчное повторение файла с помощью pypy3. Я знаю, что они пытаются обновить / исправить это, но поскольку это еще не исправлено, было интересно, что я мог бы сделать. В Linux pypy3 отлично работает даже при повторении файла.

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

Ответ №1:

Подпроцесс кажется правильным решением. Однако существуют гуманизированные эквивалентные библиотеки для управления подпроцессами, которые вы могли бы рассматривать как,

  1. Делегатор
  2. Посланник
  3. Pexpect

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

Как бы вы это масштабировали? это совершенно другой вопрос.

Комментарии:

1. Спасибо за информацию. Рассмотрим эти