Python安装Jnius库报错DLL load failed:找不到模块

简介: Python安装Jnius库报错DLL load failed:找不到模块

项目场景:


项目目的是想在python里面尝试调用JAVA代码去实现一系列的操作,首先想要跑通一个DEMO。在python里面想要跑通一个JAVA文件实现调用以及使用一系列的函数我们首先需要考虑Python拥有哪些库可以实现这个功能。


桥接python和java的方案,更具体来说,是在python里调用java代码的方案,其实也有好几个,


pyjnius

Jpype

javabridge

py4j

jcc

网上查阅发现pyjnius还挺好使的,于是打算将pyjnius作为planA方案,于是开始行动。


问题描述


还真别说一个下午的时间全浪费在修BUG上面了,安装这个库还挺麻烦的,也是因为这些离谱奇怪的BUG让我把这些坑都给记录下来。踩坑真的太浪费时间了,希望以后有兄弟们和我一样踩坑的时候能够搜到我这篇文章顺利解决问题。


问题1:


首先直接在cmd命令提示符里面输入:


pip install pyjnius


不会成功,一般进行到一半就直接报错了超时扔出一大堆关于pip的错误,这些都是由于连接问题导致的,连接不稳定。我建议大家换个源就可以解决:

这个是清华镜像源。

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyjnius

也可能由于版本问题报错,这里我推荐大家直接去官网上面下载自己python运行环境适配的版本:


pyjnius · PyPI


如果大家登不上去的话可以看看我上传的资源是否对应着大家的编译环境,如果是的话可以直接下载使用,亲测没问题:


pyjnius-1.4.2-cp37-cp37m-win32.whl-Python文档类资源-CSDN下载


下载回来的whl文件,大家下载完之后cd到下载的目录下面直接pip安装就好了。


问题2:

如果是anaconda上使用Jupyter的玩家直接在Environments上面查看自己的pyjnius是否安装完成了就行:


cb4bad1929984d17aac3a16e153e7d70.png


pycharm的玩家直接调用一下就好了。不出以外的话很大的概率会报错,大家可以尝试一下这段代码测试是否成功:

from jnius import autoclass
Stack = autoclass('java.util.Stack')
stack = Stack()
stack.push('hello')
stack.push('world')
print(stack.pop())

前提是我已经把gcc和cython装好了,这里就报错了: ImportError:DLL load failed。错误


原因分析:


在网上搜索了很多方法解决有关ImportError的问题,有的是pip uninstall pyjnius经过尝试该方法没有用。也重新下了适合的whl文件尝试,仍然没用。只有去官方找答案最靠谱了:


Installation — Pyjnius 1.0a1 documentation

141f0ca98f894f3a8a6f62ea106c07fd.png


官方说的很清楚了,DLL load failed:找不到模块很大的可能就在于你的Java环境没有配好。


很多人JAVA_HOME环境肯定是配置好了,关键是PATH少了一行:


C:\Program Files\Java\jdk1.7.0_79\jre\bin\server


解决方案:


打开环境变量,在用户环境变量PATH里面加入一行:


%JAVA_HOME%\jre\bin\server;



JAVA_HOME我默认大家都装好了,很简单。


然后是在系统变量PATH里面加上你下载的jdk的bin目录就好了


测试:

PATH: C:\Program Files\Java\jdk1.7.0_79\bin`


3072f8994e40470cb25777d1bd51e36e.png


问题解决。

目录
相关文章
|
4天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
7天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
39 5
|
6天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
10 0
|
7天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
10 0
|
7天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
12 0
|
关系型数据库 MySQL 数据库
【100天精通python】Day32:使用python操作数据库_MySQL下载、安装、配置、使用实战
【100天精通python】Day32:使用python操作数据库_MySQL下载、安装、配置、使用实战
78 0
|
3月前
|
Python Windows
Python安装第三方库太慢?配置好这个速度飞起
Python安装第三方库太慢?配置好这个速度飞起
|
Python Windows
Python3+PyCharm环境的安装及配置
近期碰到有同学入门Python还不会安装并配置Python编程环境的,在这里做一期教程手把手教大家安装与配置使用(以 Python 3.9.9 以及 PyCharm 2021.3.1 为例)
677 0
Python3+PyCharm环境的安装及配置
|
3月前
|
Linux 测试技术 Python
Python笔记1 安装并配置Python
本文是作者关于Python复习笔记的系列文章第一篇,介绍了Python语言的特点、在不同操作系统上搭建Python环境的方法,包括下载编辑器和配置解释环境,并通过在编辑器中运行“Hello World!”程序来测试环境是否成功搭建。
39 0
|
6月前
|
IDE Linux 开发工具
Python安装与配置
Python安装与配置
110 0