Приложение A к Полному руководству по Jython описывает загрузку SetupTools для использования с Jython.
https://jython.readthedocs.io/en/latest/appendixA/
Это указывает мне на то, что должно быть возможно загрузите и используйте SetupTools из сценария автоматизации Jython в Maximo (v7.6 в моем случае). Книга указывает нам на следующий URL-адрес для копирования сценария Jython, который будет делать это:
http://peak.telecommunity.com/dist/ez_setup.py
Я добавляю одну строку в приведенный выше сценарий для вызова function "use_setuptools":
use_setuptools()
Затем я создаю кнопку pu sh в приложении Maximo и связываю вышеупомянутый сценарий с нажатием кнопки. Я получаю следующую ошибку:
Системное сообщение BMXAA7837E - Произошла ошибка, из-за которой не удалось запустить сценарий EZ_SETUP для точки запуска EZ_SETUP. urllib2.HTTPError: Ошибка HTTP 403: SSL требуется в строке номер 280
Трассировка стека указывает на следующую строку в функции «download_setuptools», которая вызывается «use_setuptools»:
src = urllib2.urlopen(url)
Похоже, это связано с тем, что в моем случае запрошенный URL:
http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg
... перенаправляется несколько раз до прибытия по следующему URL-адресу:
https://files.pythonhosted.org/packages/98/d3/ed3bc7e3f4b143092862dab99d984261ac4be6a40d4fb1e66d2a10e9ea99/setuptools-0.6c11-py2.5.egg
Обратите внимание, что URL-адрес использует HTTPS, а не HTTP. Следующее показывает, почему это может быть так:
https://sourceforge.net/p/pypi/support-requests/300/
jython.jar, включенный в Maximo, не включает модуль ssl, поэтому мы могли либо:
- Загрузите модуль ssl вручную и скопируйте его в правильное место на сервере.
- Загрузите соответствующий файл яйца вручную через HTTPS и скопируйте его в нужное место на сервере.
- Обойти проблему, создав зеркало для файла, который мы ищем, который доступен по HTTP, и использовать этот URL в коде.
Хотя это возможно, я бы предпочел измените код, чтобы игнорировать сертификат SSL, если это возможно, однако все обходные пути в StackOverflow и в других местах, похоже, требуют, чтобы вы могли «импортировать ssl», чтобы обойти его, что, скорее, нарушает цель. * В идеале я ищу решение, которое изменяет код из приведенного выше URL, чтобы заставить его работать с Maximo / Jython 2.5.2 и не требует загрузки и добавление новых модулей или пакетов и все, что это влечет за собой с Maximo. Обход или временное отключение ssl нормально, поскольку код проверяет ha sh загруженного файла .egg. Если возможно, это будет мое предпочтительное решение.