4

私は本当に苦労していますpolyglot,pyicuそしてicu4c- そしてそれは私だけではないようです...

私はMac OS High Sierra10.13.6とpython3をvirtualenvで実行しています

主にこの記事に基づいて、私が行った手順は次のとおりです。

  1. 新しい virtualenv から開始する
  2. homebrew で icu4c (v.62.1) を削除して再インストールする
  3. ICU_VERSION が「62.1」であることを確認します
  4. 行うln -s /usr/local/Cellar/icu4c/62.1/bin/icu-config /usr/local/bin/icu-config
  5. pyicu tar ファイル (2.1) をダウンロードします。
  6. リンクされた記事に示されているように、pyicu を抽出して setup.py を編集します。
  7. pyicu をビルドしてインストールする

そうですか:

    Adding CXXFLAGS="-std=c++11 -I/usr/local/Cellar/icu4c/62.1/include" from /usr/local/bin/icu-config
    Adding LDFLAGS="-L/usr/local/Cellar/icu4c/62.1/lib -licui18n -licuuc -licudata" from /usr/local/bin/icu-config                    
    Installed/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyICU-2.1-py3.6-macosx-10.6-intel.egg
    ...
    Processing dependencies for PyICU==2.1
    Finished processing dependencies for PyICU==2.1

予想通り。

  1. pip3 ポリグロットをインストール

スクリプトを実行すると、次のようになります。

File "/Users/Chris/MindWeb/Server/lib/python3.6/site-packages/polyglot/detect/__init__.py", line 1, in <module>
from .base import Detector, Language
File "/Users/Chris/MindWeb/Server/lib/python3.6/site-packages/polyglot/detect/base.py", line 11, in <module>
from icu import Locale
ModuleNotFoundError: No module named 'icu'

実際には PATH に icu モジュールがないため、当然のことです。

手順 5 ~ 7 の代わりに pip3 install pyicu (icu フォルダーを作成する) を実行すると、次のようになります。

ImportError: dlopen(/Users/Chris/MindWeb/Server/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so, 2): Symbol not found: __ZNK6icu_6214Transliterator12getTargetSetERNS_10UnicodeSetE
Referenced from: /Users/Chris/MindWeb/Server/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so
Expected in: flat namespace
in /Users/Chris/MindWeb/Server/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so

からの出力otool -L /Users/Chris/MindWeb/Server/lib/python3.6/site-packages/_icu.cpython-36m-darwin.soは次のとおりです。

/Users/Chris/MindWeb/Server/lib/python3.6/site-packages/_icu.cpython-36m-darwin.so:
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 104.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
4

1 に答える 1