Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@shu223

"Symbol not found: _PyUnicodeUCS2_AsASCIIString"エラーの解決法

More than 3 years have passed since last update.

状況

TensorFlowの学習済みモデルをCoreML用のモデルに変換するツールtfcoremlをインストールし、実行しようとすると下記のようなエラーに遭遇しました。

(tensorflow_coreml) $ python converter.py 

ImportError: dlopen({path-to-tensorflow}/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so, 6): Symbol not found: _PyUnicodeUCS2_AsASCIIString

tensorflowのimportに失敗してるようなので、確認してみます。

(tensorflow_coreml) $ python
>>> import tensorflow

結果は同様のエラー。

ちなみに上記環境でのpythonバージョンは2.7.11です。

python 3.5.xで同様の手順をやってみたところ、import tensorflowは動作しました。ただし、tf-coremlでは3.xはサポートされてないので、2.xで動かす必要があります。

解決法

"Symbol not found: _PyUnicodeUCS2_AsASCIIString"でググってみて出てくるラインナップを見ると、tf-coremlの問題というよりも、macOS 10.13 High Sierraの問題のようです。

この回答を見て、以下を実行しました。

$ CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include" \
> LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
> PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
> pyenv install -v 2.7.11

あれやこれやオプションをつけてpyenvの2.7.11をインストールし直してるようです。

このpyenv環境下でもう一度TensorFlowのインストールからやり直すことで、先ほどのimportが通るようになり、tfcoremlも入れ直して動くようになりました。

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
shu223
フリーランスiOSエンジニア 著書:『iOS×BLE Core Bluetooth プログラミング』『Metal入門』『実践ARKit』『Depth in Depth』『iOSアプリ開発 達人のレシピ100』他 GitHubの累計スター数24,000超
engineerlife
技術力をベースに人生を謳歌する人たちのコミュニティです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?