在 Python 中使用 Javabridge 时遇到问题
Trouble using Javabridge with Python
我在 Mac 的虚拟环境中使用 $pip3 install javabridge
成功安装了 javabridge。但是当我试图在我的 python3 代码中导入 javabridge 时,这就是我得到的:
import javabridge
Failed to run /usr/libexec/java_home, defaulting to best guess for Java
Traceback (most recent call last):
File "/Users/puifai/Documents/data_science/venv/venv3/lib/python3.6/site-packages/javabridge/locate.py", line 45, in find_javahome
os.path.join(os.path.dirname(path), "Libraries"),
File "/Users/puifai/Documents/data_science/venv/venv3/bin/../lib/python3.6/posixpath.py", line 92, in join
genericpath._check_arg_types('join', a, *p)
File "/Users/puifai/Documents/data_science/venv/venv3/bin/../lib/python3.6/genericpath.py", line 151, in _check_arg_types
raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components
关于如何解决这个问题有什么想法吗?看起来 Python 而不是 javabridge?
有问题
请原谅不完整的答案,但这与 Python2 和 Python3 之间的字符串差异有关。在 Python2.7 中工作至少可以暂时解决问题。 更多背景信息。
我在 Mac 的虚拟环境中使用 $pip3 install javabridge
成功安装了 javabridge。但是当我试图在我的 python3 代码中导入 javabridge 时,这就是我得到的:
import javabridge
Failed to run /usr/libexec/java_home, defaulting to best guess for Java
Traceback (most recent call last):
File "/Users/puifai/Documents/data_science/venv/venv3/lib/python3.6/site-packages/javabridge/locate.py", line 45, in find_javahome
os.path.join(os.path.dirname(path), "Libraries"),
File "/Users/puifai/Documents/data_science/venv/venv3/bin/../lib/python3.6/posixpath.py", line 92, in join
genericpath._check_arg_types('join', a, *p)
File "/Users/puifai/Documents/data_science/venv/venv3/bin/../lib/python3.6/genericpath.py", line 151, in _check_arg_types
raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components
关于如何解决这个问题有什么想法吗?看起来 Python 而不是 javabridge?
有问题请原谅不完整的答案,但这与 Python2 和 Python3 之间的字符串差异有关。在 Python2.7 中工作至少可以暂时解决问题。