Ошибка импорта: библиотека не загружена: @ rpath / lib java .dylib при установке python lucene на MacOS Catalina - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь установить в моем MacOS Catalina пилицен. Я установил JDK 8. Я следовал официальным инструкциям. Когда я вошел в папку «j cc» и установил j cc со следующим кодом, все, кажется, в порядке.

$ python setup.py build
$ sudo python setup.py install

Затем произошла ошибка, когда я пытался сделать пилюцен. Когда я вернулся в папку «pylucene-8.1.1» и набрал sudo make, он говорит следующее:

ICU not installed
/Users/lyc/anaconda/bin/python -m jcc --shared --arch x86_64 --jar lucene-java-8.1.1/lucene/build/core/lucene-core-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/analysis/common/lucene-analyzers-common-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/backward-codecs/lucene-backward-codecs-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/classification/lucene-classification-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/codecs/lucene-codecs-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/expressions/lucene-expressions-8.1.1.jar --jar build/jar/extensions.jar --jar lucene-java-8.1.1/lucene/build/facet/lucene-facet-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/grouping/lucene-grouping-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/highlighter/lucene-highlighter-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/join/lucene-join-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/analysis/kuromoji/lucene-analyzers-kuromoji-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/memory/lucene-memory-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/misc/lucene-misc-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/analysis/nori/lucene-analyzers-nori-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/queries/lucene-queries-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/queryparser/lucene-queryparser-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/sandbox/lucene-sandbox-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/spatial3d/lucene-spatial3d-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/spatial/lucene-spatial-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/analysis/stempel/lucene-analyzers-stempel-8.1.1.jar --jar lucene-java-8.1.1/lucene/build/suggest/lucene-suggest-8.1.1.jar  --use_full_names --include lucene-java-8.1.1/lucene/expressions/lib/antlr4-runtime-4.5.1-1.jar --include lucene-java-8.1.1/lucene/expressions/lib/asm-5.1.jar --include lucene-java-8.1.1/lucene/expressions/lib/asm-commons-5.1.jar --include lucene-java-8.1.1/lucene/facet/lib/hppc-0.8.1.jar --package java.lang java.lang.System java.lang.Runtime --package java.util java.util.Arrays java.util.Collections java.util.HashMap java.util.HashSet java.util.TreeSet java.lang.IllegalStateException java.lang.IndexOutOfBoundsException java.util.NoSuchElementException java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator --package java.util.concurrent java.util.concurrent.Executors --package java.util.regex --package java.io java.io.StringReader --package java.nio.file java.nio.file.Path java.nio.file.Files java.nio.file.Paths --exclude org.apache.lucene.sandbox.queries.regex.JakartaRegexpCapabilities --exclude org.apache.regexp.RegexpTunnel --exclude org.apache.lucene.store.WindowsDirectory --exclude org.apache.lucene.store.NativePosixUtil --python lucene --mapping org.apache.lucene.document.Document 'get:(Ljava/lang/String;)Ljava/lang/String;' --mapping java.util.Properties 'getProperty:(Ljava/lang/String;)Ljava/lang/String;' --sequence java.util.AbstractCollection 'size:()I' '-:-' --sequence java.util.AbstractList '-:-' 'get:(I)Ljava/lang/Object;' org.apache.lucene.index.IndexWriter:getReader org.apache.lucene.analysis.Tokenizer:input --version 8.1.1 --module python/collections.py --module python/ICUNormalizer2Filter.py --module python/ICUFoldingFilter.py --module python/ICUTransformFilter.py  --files 10 --build

Traceback (most recent call last):
  File "/Users/lyc/anaconda/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/lyc/anaconda/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/Users/lyc/anaconda/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/__init__.py", line 31, in <module>
    import jcc._jcc3 as _jcc3
ImportError: dlopen(/Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/_jcc3.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libjava.dylib
  Referenced from: /Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/_jcc3.cpython-36m-darwin.so
  Reason: image not found
make: *** [compile] Error 1

Затем я попытался проверить, могу ли я импортировать j cc в python. Когда я открыл консоль python и набрал import jcc, она также вызвала похожую ошибку. Кажется, что j cc как-то идет не так.

lycdeMacBook-Air:pylucene-8.1.1 lyc$ python
Python 3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:04:09)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jcc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/__init__.py", line 31, in <module>
    import jcc._jcc3 as _jcc3
ImportError: dlopen(/Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/_jcc3.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libjava.dylib
  Referenced from: /Users/lyc/anaconda/lib/python3.6/site-packages/JCC-3.6-py3.6-macosx-10.7-x86_64.egg/jcc/_jcc3.cpython-36m-darwin.so
  Reason: image not found

Я почти уверен, что установил jdk 8.

lycdeMacBook-Air:pylucene-8.1.1 lyc$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

И при установке j * ошибки не было 1022 *. Может кто нибудь разобраться в чем дело?

...