Импорт Paramiko в Jython - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь импортировать модуль Python Paramiko из Java-программы. Для этого я использовал Jython. Когда я пытаюсь импортировать paramiko из jython, выдает ошибку ниже,

Исключение в трассировке "main" Traceback (последний вызов был последним): Файл "", строка 1, в ImportError: Нет модуля с именем paramiko

Пожалуйста, посоветуйте мне импортировать paramiko из jython.

открытый класс jythonTest { public static void main (String [] args) выдает исключение PyException {

    PythonInterpreter interp = new PythonInterpreter();

    interp.exec("import sys");
    interp.exec("import paramiko");
    interp.exec("import time");
   }

}

1 Ответ

0 голосов
/ 31 мая 2019

Это может быть связано с тем, что Jython не читает пакеты Python с того места, где вы могли установить их в Python через CLI.

Один из способов решения вашей проблемы - установить Paramiko во время выполнения кода:

PythonInterpreter interp = new PythonInterpreter();

interp.exec("from pip._internal import main as pip_main");
interp.exec("pip_main(['install', 'paramiko'])")
interp.exec("import paramiko");

или

PythonInterpreter interp = new PythonInterpreter();

interp.exec("from pip import main as pip_main");
interp.exec("pip_main(['install', 'paramiko'])")
interp.exec("import paramiko");

См. Установка модуля Python в коде , чтобы узнать больше способов установки пакетов в коде в зависимости от вашей версии Python. Вышесказанное должно сработать для Python 2.7, на котором, как я полагаю, основан Jython.

...