windows7在python中调用java安装pyjnius问题

妤穆 2016-11-01 04:06:53
在windows7-32位安装了 python3.4 现在想在python中调用java

python34
mingw-get-setup.exe
Cython-0.25.1.tar.gz (Cython-0.25.1-cp34-none-win32.whl)两种都试过
pyjnius

1: mangw-32 在cmd中运行命令 gcc -v 是成功的,打印了如下:( 安装了Basic SetUp的全部,除了mingw32-gcc-fortran,对应bin也加入系统Path中)

D:\>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=d:/mingw/bin/../libexec/gcc/mingw32/5.3.0/lto-wrapper.exe
Target: mingw32
Configured with: ../src/gcc-5.3.0/configure --build=x86_64-pc-linux-gnu --host=m
ingw32 --prefix=/mingw --disable-win32-registry --target=mingw32 --with-arch=i58
6 --enable-languages=c,c++,objc,obj-c++,fortran,ada --enable-static --enable-sha
red --enable-threads=posix --with-dwarf2 --disable-sjlj-exceptions --enable-vers
ion-specific-runtime-libs --enable-libstdcxx-debug --with-tune=generic --enable-
libgomp --disable-libvtv --enable-nls
Thread model: posix
gcc version 5.3.0 (GCC)


2:D:\Program Files\Python34\Lib\distutils 创建文件distutils.cfg,内容如下:

[build]
compiler = mingw32

[build_ext]
compiler = mingw32

3、 安装Cython-0.25.1.tar.gz, python setup.py install,部分信息
Processing Cython-0.25.1-py3.4-win32.egg
creating d:\program files\python34\lib\site-packages\Cython-0.25.1-py3.4-win32.e
gg
Extracting Cython-0.25.1-py3.4-win32.egg to d:\program files\python34\lib\site-p
ackages
Adding Cython 0.25.1 to easy-install.pth file
Installing cythonize-script.py script to D:\Program Files\Python34\Scripts
Installing cythonize.exe script to D:\Program Files\Python34\Scripts
Installing cythonize.exe.manifest script to D:\Program Files\Python34\Scripts
Installing cython-script.py script to D:\Program Files\Python34\Scripts
Installing cython.exe script to D:\Program Files\Python34\Scripts
Installing cython.exe.manifest script to D:\Program Files\Python34\Scripts
Installing cygdb-script.py script to D:\Program Files\Python34\Scripts
Installing cygdb.exe script to D:\Program Files\Python34\Scripts
Installing cygdb.exe.manifest script to D:\Program Files\Python34\Scripts

Installed d:\program files\python34\lib\site-packages\cython-0.25.1-py3.4-win32.
egg
Processing dependencies for Cython==0.25.1
Finished processing dependencies for Cython==0.25.1

D:\Program Files\Cython-0.25.1>


4 安装 pyjnius, cmd : python setup.py install

D:\>cd D:\Program Files\kivy-pyjnius

D:\Program Files\kivy-pyjnius>python setup.py install
D:\Program Files\Python34\lib\site-packages\cython-0.25.1-py3.4-win32.egg\Cython
\Distutils\old_build_ext.py:30: UserWarning: Cython.Distutils.old_build_ext does
not properly handle dependencies and is deprecated.
"Cython.Distutils.old_build_ext does not properly handle dependencies "
WARNING: Not able to assign machine() = x86 to a cpu value!
Using cpu = 'i386' instead!
D:\Program Files\Python34\lib\site-packages\setuptools\dist.py:285: UserWarning:
Normalizing '1.1-dev' to '1.1.dev0'
normalized_version,
running install
running bdist_egg
running egg_info
writing jnius.egg-info\PKG-INFO
writing dependency_links to jnius.egg-info\dependency_links.txt
writing requirements to jnius.egg-info\requires.txt
writing top-level names to jnius.egg-info\top_level.txt
reading manifest file 'jnius.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*COPYING'
writing manifest file 'jnius.egg-info\SOURCES.txt'
installing library code to build\bdist.win32\egg
running install_lib
running build_py
running build_ext
skipping 'jnius\jnius.c' Cython extension (up-to-date)
creating build\bdist.win32\egg
creating build\bdist.win32\egg\jnius
copying build\lib.win32-3.4\jnius\jnius.pyd -> build\bdist.win32\egg\jnius
copying build\lib.win32-3.4\jnius\reflect.py -> build\bdist.win32\egg\jnius
copying build\lib.win32-3.4\jnius\signatures.py -> build\bdist.win32\egg\jnius
copying build\lib.win32-3.4\jnius\__init__.py -> build\bdist.win32\egg\jnius
copying build\lib.win32-3.4\jnius_config.py -> build\bdist.win32\egg
byte-compiling build\bdist.win32\egg\jnius\reflect.py to reflect.cpython-34.pyc
byte-compiling build\bdist.win32\egg\jnius\signatures.py to signatures.cpython-3
4.pyc
byte-compiling build\bdist.win32\egg\jnius\__init__.py to __init__.cpython-34.py
c
byte-compiling build\bdist.win32\egg\jnius_config.py to jnius_config.cpython-34.
pyc
creating stub loader for jnius\jnius.pyd
byte-compiling build\bdist.win32\egg\jnius\jnius.py to jnius.cpython-34.pyc
creating build\bdist.win32\egg\EGG-INFO
copying jnius.egg-info\PKG-INFO -> build\bdist.win32\egg\EGG-INFO
copying jnius.egg-info\SOURCES.txt -> build\bdist.win32\egg\EGG-INFO
copying jnius.egg-info\dependency_links.txt -> build\bdist.win32\egg\EGG-INFO
copying jnius.egg-info\requires.txt -> build\bdist.win32\egg\EGG-INFO
copying jnius.egg-info\top_level.txt -> build\bdist.win32\egg\EGG-INFO
writing build\bdist.win32\egg\EGG-INFO\native_libs.txt
zip_safe flag not set; analyzing archive contents...
jnius.__pycache__.jnius.cpython-34: module references __file__
creating 'dist\jnius-1.1.dev0-py3.4-win32.egg' and adding 'build\bdist.win32\egg
' to it
removing 'build\bdist.win32\egg' (and everything under it)
Processing jnius-1.1.dev0-py3.4-win32.egg
creating d:\program files\python34\lib\site-packages\jnius-1.1.dev0-py3.4-win32.
egg
Extracting jnius-1.1.dev0-py3.4-win32.egg to d:\program files\python34\lib\site-
packages
Adding jnius 1.1.dev0 to easy-install.pth file

Installed d:\program files\python34\lib\site-packages\jnius-1.1.dev0-py3.4-win32
.egg
Processing dependencies for jnius==1.1.dev0
Searching for cython==0.25.1
Best match: cython 0.25.1
Processing cython-0.25.1-py3.4-win32.egg
cython 0.25.1 is already the active version in easy-install.pth
Installing cython-script.py script to D:\Program Files\Python34\Scripts
Installing cython.exe script to D:\Program Files\Python34\Scripts
Installing cython.exe.manifest script to D:\Program Files\Python34\Scripts
Installing cygdb-script.py script to D:\Program Files\Python34\Scripts
Installing cygdb.exe script to D:\Program Files\Python34\Scripts
Installing cygdb.exe.manifest script to D:\Program Files\Python34\Scripts
Installing cythonize-script.py script to D:\Program Files\Python34\Scripts
Installing cythonize.exe script to D:\Program Files\Python34\Scripts
Installing cythonize.exe.manifest script to D:\Program Files\Python34\Scripts

Using d:\program files\python34\lib\site-packages\cython-0.25.1-py3.4-win32.egg
Searching for six==1.10.0
Best match: six 1.10.0
Processing six-1.10.0-py3.4.egg
six 1.10.0 is already the active version in easy-install.pth

Using d:\program files\python34\lib\site-packages\six-1.10.0-py3.4.egg
Finished processing dependencies for jnius==1.1.dev0

D:\Program Files\kivy-pyjnius>

5 、测试失败
测试文件testjava.py:
from jnius import autoclass

Stack = autoclass('java.util.Stack')
stack = Stack()
stack.push('hello')
stack.push('world')

print(stack.pop())
print(stack.pop())

报错信息:
"D:\Program Files\Python34\python.exe" E:/py/BondDjango/BondImplicitRate/testjava.py
Traceback (most recent call last):
File "E:/py/BondDjango/BondImplicitRate/testjava.py", line 1, in <module>
from jnius import autoclass
File "D:\Program Files\Python34\lib\site-packages\jnius-1.1.dev0-py3.4-win32.egg\jnius\__init__.py", line 12, in <module>
from .jnius import *
ImportError: DLL load failed: 找不到指定的模块。


...全文
807 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hijack00 2016-11-02
  • 打赏
  • 举报
回复
对于在Python中调用Java不是特别熟悉,建议你试试jPython或者名为javabridge的python package
妤穆 2016-11-02
  • 打赏
  • 举报
回复
在path中再配置个路径,指向jvm.dll ,然后报错:虚拟机启动失败,内存不够 E:\py\BondDjango\BondImplicitRate>python testjava.py Error occurred during initialization of VM Could not reserve enough space for object heap Traceback (most recent call last): File "testjava.py", line 1, in <module> from jnius import autoclass File "D:\Program Files\Python34\lib\site-packages\jniusx-1.0.5-py3.4-win32.egg \jnius\__init__.py", line 13, in <module> from .reflect import * File "D:\Program Files\Python34\lib\site-packages\jniusx-1.0.5-py3.4-win32.egg \jnius\reflect.py", line 14, in <module> class Class(with_metaclass(MetaJavaClass, JavaClass)): File "D:\Program Files\Python34\lib\site-packages\six-1.10.0-py3.4.egg\six.py" , line 808, in __new__ return meta(name, bases, d) File "jnius\jnius_export_class.pxi", line 43, in jnius.MetaJavaClass.__new__ ( jnius\jnius.c:17549) File "jnius\jnius_export_class.pxi", line 65, in jnius.MetaJavaClass.resolve_c lass (jnius\jnius.c:17957) File "jnius\jnius_env.pxi", line 11, in jnius.get_jnienv (jnius\jnius.c:3316) File "jnius\jnius_jvm_desktop.pxi", line 55, in jnius.get_platform_jnienv (jni us\jnius.c:3247) File "jnius\jnius_jvm_desktop.pxi", line 49, in jnius.create_jnienv (jnius\jni us.c:3173) SystemError: JVM failed to start 我用的IDE是pycharm, 修改pycharm.exe.vmoptions 文件分配内存大小都不行
妤穆 2016-11-01
  • 打赏
  • 举报
回复
求解,是哪个环节出问题了?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧