gpt4 book ai didi

python : javabridge virtual machine only works once

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:09 26 4
gpt4 key购买 nike

我需要使用 bioformats-python 来读取显微镜图像。要使用它,需要 Java VM。

我只能使用 java VM 一次,如果我再次执行我的 python 脚本,我会得到一个错误。

如果我重新启动 spyder 内核,脚本只会再次运行一次。

我安装了 JDK (8u181) 并设置了路径变量。我将 Spyder 与 python 3.6 结合使用。

这是我用来测试 Java VM 的代码:

import javabridge

javabridge.start_vm(run_headless=True)
try:
print(javabridge.run_script('java.lang.String.format("Hello, %s!", greetee);',
dict(greetee='world')))
finally:
javabridge.kill_vm()

我第一次执行得到的:

>>> Hello, world!

这是我第二次尝试运行时收到的错误消息:

Traceback (most recent call last):
File "C:\Users\Z820\Miniconda3\envs\py37\lib\site-packages\javabridge\jutil.py", line 281, in start_thread
env = vm.create(args)
File "_javabridge.pyx", line 653, in _javabridge.JB_VM.create
RuntimeError: Failed to create Java VM. Return code = -1
Failed to create Java VM
Traceback (most recent call last):

File "<ipython-input-2-81778b2b637e>", line 1, in <module>
runfile('C:/Users/Z820/Desktop/Python/Fichier_Python/Projet_correlation/Replace Fiji/usebioformas.py', wdir='C:/Users/Z820/Desktop/Python/Fichier_Python/Projet_correlation/Replace Fiji')

File "C:\Users\Z820\Miniconda3\envs\py37\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 678, in runfile
execfile(filename, namespace)

File "C:\Users\Z820\Miniconda3\envs\py37\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 106, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/Z820/Desktop/Python/Fichier_Python/Projet_correlation/Replace Fiji/usebioformas.py", line 10, in <module>
javabridge.start_vm(run_headless=True)

File "C:\Users\Z820\Miniconda3\envs\py37\lib\site-packages\javabridge\jutil.py", line 314, in start_vm
raise RuntimeError("Failed to start Java VM")

RuntimeError: Failed to start Java VM

如果我第三次尝试启动它,我会收到一条略有不同的错误消息。

有没有人有解决这个问题的想法?

在此先感谢您的帮助,

托马斯。

最佳答案

这是JVM的限制,你只能使用一次start_vm()。

查看此链接了解更多信息 https://github.com/LeeKamentsky/python-javabridge/issues/88

关于 python : javabridge virtual machine only works once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com