小编Bri*_*zho的帖子

如何在 Java 中使用 Jython Standalone 安装 Python 库?

我正在尝试使用 Java 中的 Jython Standalone jar 安装 Python 库。

我的代码似乎将 PIP 7.1.2 安装在独立 jar 旁边的文件夹中,但是一旦我尝试使用 PIP 升级自身,它就会因 ZipImportError 而失败。

错误消息似乎抱怨无法打开 PIP 轮文件,但日志似乎显示它已经可以打开几次了。

import org.python.util.PythonInterpreter;

public class PipInstaller{
    public void installPip(){
        PythonInterpreter python = new PythonInterpreter();
        runEnsurePip(python);
        upgradePip(python);
        python.close();
    }

    private void runEnsurePip(PythonInterpreter python){
        StringBuilder script = new StringBuilder();
        script.append("import ensurepip\n");
        script.append("ensurepip._main()");
        python.exec(script.toString());
    }

    private void upgradePip(PythonInterpreter python){
        StringBuilder script = new StringBuilder(); 
        script.append("import pip\n");
        script.append("pip.main(['install', '--upgrade', 'pip'])"); 
        python.exec(script.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这些是堆栈跟踪的最后几行:

File "/tmp/tmpnmI49K/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/html5lib/html5parser.py", line 27, in parse
File "/tmp/tmpnmI49K/pip-7.1.2-py2.py3-none-any.whl/pip/_vendor/html5lib/treebuilders/__init__.py", line …
Run Code Online (Sandbox Code Playgroud)

java jython pip

5
推荐指数
0
解决办法
2025
查看次数

标签 统计

java ×1

jython ×1

pip ×1