Я не думаю, что есть способ заставить оба модуля работать в одном и том же интерпретаторе, если вы говорите, что один только 32-битный, а другой только 64-битный.
Итак, рассмотрите возможность запуска двух интерпретаторов и обеспечения их связи друг с другом с помощью обмена сообщениями, удаленного вызова процедур и т. Д.
Я настоятельно не рекомендую использовать разделы с общей памятью, сокеты UNIX или TCP, так как слишком много низкоуровневых деталей для обработки, которые отвлекут вас от реальной цели вашей работы.
Вместо этого рассмотрим некоторую высокоуровневую библиотеку, такую как zeromq , которая также имеет привязки Python , и ее очень просто использовать: вы можете отправлять двоичные данные, строки или объекты Python по проводам , который будет автоматически сериализован и десериализован при помощи pickle.
Полезные значения:
Пример клиента:
import zmq
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")
print("Sending request...")
socket.send_string("Hello")
# Get the reply.
message = socket.recv_string()
print(f"Received reply: {message}")
Пример сервера:
import zmq
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
while True:
message = socket.recv_string()
print(f"Received request: {message}")
socket.send_string("Hello")
Аналогично socket.send_string()
у вас есть socket.send_json()
и socket.send_pyobj()
.
Проверка документация .