首页 > 解决方案 > 如何使用java调用python的二维码?

问题描述

最近想用java调用Python的二维码包,希望用它在终端界面生成二维码。像这样,我想在java中使用它。

qr tomcat

█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀ ▄▀██ ▄▄▄▄▄ ████
████ █   █ ██▄▀ ██ █   █ ████
████ █▄▄▄█ █▄ ▀ ▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄▀ █▄█▄▄▄▄▄▄▄████
████▄▀▄▀▄█▄█▀█▄▀▄▀█▀▄█▀ ▀████
██████▄▄ ▀▄█▀   ▀ ▄ ▀▄█ ▄████
████▄█▄▄█▄▄▄ █▄▄█▄  ██▀▄ ████
████ ▄▄▄▄▄ ██▄▀█▄█▀▀▄▄▄  ████
████ █   █ █▄█ ▀▄▀▄▄ ▀█ ▄████
████ █▄▄▄█ █▄▄  ▀ ▄▄▄▄█▀▄████
████▄▄▄▄▄▄▄█▄▄▄▄█▄▄█▄██▄▄████
█████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

但是,想要我运行我的 java 程序,它发生了一个错误。错误消息是:

Traceback(最近一次调用最后):文件“D:\anaconda3\lib\site-packages\qrcode\image\pil.py”,第 6 行,从 PIL 导入图像,ImageDraw 文件“D:\anaconda3\lib\site -packages\PIL\Image.py",第 69 行,来自 . import _imaging as core ImportError: DLL load failed: 找不到指定的模块。

在处理上述异常的过程中,又出现了一个异常:

回溯(最后一次调用):文件“D:\anaconda3\Lib\site-packages\qrcode\console_scripts.py”,第 100 行,在 main() 文件“D:\anaconda3\Lib\site-packages\qrcode\ console_scripts.py”,第 84 行,在 main img = qr.make_image(image_factory=image_factory) 文件“D:\anaconda3\lib\site-packages\qrcode\main.py”,第 289 行,来自 qrcode.image 的 make_image。 pil import PilImage File "D:\anaconda3\lib\site-packages\qrcode\image\pil.py",第 8 行,在 import Image File "D:\anaconda3\Lib\site-packages\PIL\Image.py" ,第 44 行,从 . import ImageMode, TiffTags, UnidentifiedImageError, version , _plugins ImportError: 在没有已知父包的情况下尝试相对导入

而且,这是我的 java 程序,我得到错误流并在控制台中打印它。

package dragon;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;

public class QR {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        try {
            Process process = runtime.exec("qr tomcat");
            InputStream input = process.getErrorStream();
            int len = 0;
            byte[] b = new byte[1024];
            while ((len = input.read(b)) != -1) {
                System.out.print(new String(b, 0, len, Charset.forName("UTF-8")));
            }
            input.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

那么,我想知道如何让java程序知道python的模块?

标签: javapython

解决方案


推荐阅读