【问题标题】:Import Paramiko in Jython在 Jython 中导入 Paramiko
【发布时间】:2019-10-16 22:35:11
【问题描述】:

我正在尝试从 java 程序中导入 python paramiko 模块。所以为此我使用了jython。当我尝试从 jython 导入 paramiko 时,出现以下错误,

线程“main” Traceback 中的异常(最后一次调用): 文件“”,第 1 行,在 ImportError: 没有名为 paramiko 的模块

请建议我从 jython 导入 paramiko。

公共类 jythonTest { public static void main(String[] args) 抛出 PyException {

    PythonInterpreter interp = new PythonInterpreter();

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

}

【问题讨论】:

    标签: java python jython paramiko


    【解决方案1】:

    这可能是因为 Jython 没有从您可能通过 CLI 在 Python 中安装它们的位置读取 Python 包。

    解决问题的一种方法是在代码执行期间安装 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");
    

    请参阅Installing python module within code 了解更多在代码中安装包的方法,具体取决于您的 Python 版本。以上对于 Python 2.7 应该适用,我相信这是 Jython 的基础。

    【讨论】:

      猜你喜欢
      • 2012-07-26
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多