Хотя этот вопрос очень популярен в StackOverflow, проведя некоторое время здесь и в Google, я до сих пор не нашел конкретного ответа на вопрос о том, что является наиболее подходящим способом для использования SOAP в Python 3.SOAP-клиент для Python 3
Я взглянул на Does a Python 3 SOAP client module exist?, и я надеюсь, что он устарел, и сегодня может возникнуть некоторое решение.
Я думал о некоторых идеях:
- Используйте 2to3 сценарий к порту некоторых существующим библиотекам Python 3 (мыльный щелок, и т.д.).
- нагрузки внешний модуль, путем смешивания технологий (Py3k + Jython, Py3k + Python 2.6 и т.д.)
- Запись в классах Python жестко, что соответствует определениям WSDL-файлов (что подразумевает в жесткой муфтой/высоким содержанием) ,
- Напишите программное обеспечение в Python 3.0, вызовите функции модуля «python2.6-only» через execnet package. Для этого требуется, чтобы Python 2.6 был установлен на компьютере, а программное обеспечение, написанное на Python3.0, было замороженным двоичным кодом.
Любые идеи?
Заранее спасибо
Я не верю, что это решение будет работать, 2to3 был разработан, чтобы делать простые переводы, такие как отпечатки, исключения, абсолютный импорт и т. Д. В противном случае я предполагаю, что SOAPy-клиент для py3k будет выпущен. Вы не согласны? –
@ Эдуардо: Не знаю. Я видел, что некоторые модули Python (в том числе некоторые довольно сложные) конкретно указывают, что их официальный механизм перехода состоит в том, чтобы гарантировать, что 2to3 работает как можно лучше на своей кодовой базе. Вы заметите, что в документации для 2to3 (http://docs.python.org/library/2to3.html) указано следующее: «Стандартная библиотека содержит богатый набор исправлений, которые будут обрабатывать практически весь код». –
2to3 хорошо работает для многих кодовых баз. Места, в которых он ломается, - это те места, где авторы пытались быть слишком умными и делали странное использование краевых случаев. Если код написан в прямом, питоническом стиле, то 2to3 часто выполняет большую часть работы. –