Python pyicu未能连接山狮上的icu4c

Python pyicu未能连接山狮上的icu4c,python,pip,homebrew,dyld,Python,Pip,Homebrew,Dyld,我使用brew install icu4c和pip install pyicu安装python ICU支持,但最终我无法在我的Mountain Lion上工作 $ brew install icu4c dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid ==> Downloading http://download.icu-pr

我使用
brew install icu4c
pip install pyicu
安装python ICU支持,但最终我无法在我的Mountain Lion上工作

$ brew install icu4c
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid
==> Downloading http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz
Already downloaded: /Library/Caches/Homebrew/icu4c-50.1.tgz
==> ./configure --prefix=/usr/local/Cellar/icu4c/50.1 --disable-samples --disable-tests --enable-static --with-library-bits=64
==> make
==> make install
/usr/local/Cellar/icu4c/50.1: 235 files, 55M, built in 109 seconds

$ pip install pyicu
Downloading/unpacking pyicu
  Downloading PyICU-1.4.tar.gz (209kB): 209kB downloaded
  Running setup.py egg_info for package pyicu

Installing collected packages: pyicu
  Running setup.py install for pyicu
    building '_icu' extension
    /usr/bin/clang -fno-strict-aliasing -Os -w -pipe -march=native -Qunused-arguments -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/Cellar/python/2.7.3/include/python2.7 -c _icu.cpp -o build/temp.macosx-10.4-x86_64-2.7/_icu.o -Wno-write-strings -DPYICU_VER="1.4"

…

    /usr/bin/clang++ -bundle -undefined dynamic_lookup -L/usr/local/Cellar/readline/6.2.2/lib build/temp.macosx-10.4-x86_64-2.7/_icu.o build/temp.macosx-10.4-x86_64-2.7/bases.o build/temp.macosx-10.4-x86_64-2.7/calendar.o build/temp.macosx-10.4-x86_64-2.7/charset.o build/temp.macosx-10.4-x86_64-2.7/collator.o build/temp.macosx-10.4-x86_64-2.7/common.o build/temp.macosx-10.4-x86_64-2.7/dateformat.o build/temp.macosx-10.4-x86_64-2.7/errors.o build/temp.macosx-10.4-x86_64-2.7/format.o build/temp.macosx-10.4-x86_64-2.7/iterators.o build/temp.macosx-10.4-x86_64-2.7/layoutengine.o build/temp.macosx-10.4-x86_64-2.7/locale.o build/temp.macosx-10.4-x86_64-2.7/normalizer.o build/temp.macosx-10.4-x86_64-2.7/numberformat.o build/temp.macosx-10.4-x86_64-2.7/regex.o build/temp.macosx-10.4-x86_64-2.7/search.o build/temp.macosx-10.4-x86_64-2.7/transliterator.o build/temp.macosx-10.4-x86_64-2.7/tzinfo.o build/temp.macosx-10.4-x86_64-2.7/unicodeset.o -licui18n -licuuc -licudata -licule -o build/lib.macosx-10.4-x86_64-2.7/_icu.so -L/usr/local/lib

Successfully installed pyicu
Cleaning up...
这是我的设置 安装了Xcode 4.5和46.DP2的Mountain Lion

$ python
Python 2.7.3 (default, Jun 14 2012, 00:46:15) 
[GCC 4.2.1 Compatible Apple Clang 3.1 (tags/Apple/clang-318.0.61)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import icu
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/icu.py", line 37, in <module>
    from docs import *
  File "/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/docs.py", line 23, in <module>
    from _icu import *
ImportError: dlopen(/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/_icu.so, 2): Symbol not found: __ZNK6icu_5014LEFontInstance10getSubFontEPKtPiiiR11LEErrorCode
  Referenced from: /usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/_icu.so
  Expected in: dynamic lookup

>>> 

$ otool -L _icu.so
_icu.so:
/usr/local/lib/libicui18n.50.1.dylib (compatibility version 50.0.0, current version 50.1.0)
/usr/local/lib/libicuuc.50.1.dylib (compatibility version 50.0.0, current version 50.1.0)
/usr/local/lib/libicudata.50.1.dylib (compatibility version 50.0.0, current version 50.1.0)
/usr/local/lib/libicule.50.1.dylib (compatibility version 50.0.0, current version 50.1.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0)
$python
Python 2.7.3(默认值,2012年6月14日00:46:15)
达尔文的[GCC 4.2.1兼容Apple Clang 3.1(标签/Apple/Clang-318.0.61)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口重症监护室
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/ceral/python/2.7.3/lib/python2.7/site packages/icu.py”,第37行,在
从文档导入*
文件“/usr/local/ceral/python/2.7.3/lib/python2.7/site packages/docs.py”,第23行,在
从icu导入*
ImportError:dlopen(/usr/local/ceral/python/2.7.3/lib/python2.7/site-packages//\u icu.so,2):未找到符号:\uu ZNK6icu_5014; lefontInstance10getsubintepktpiir11leerrorcode
引用自:/usr/local/ceral/python/2.7.3/lib/python2.7/site-packages//u.so
应为:动态查找
>>> 
$otool-L_.so
_icu.so:
/usr/local/lib/libicui18n.50.1.dylib(兼容版本50.0.0,当前版本50.1.0)
/usr/local/lib/libicuuc.50.1.dylib(兼容版本50.0.0,当前版本50.1.0)
/usr/local/lib/libicudata.50.1.dylib(兼容版本50.0.0,当前版本50.1.0)
/usr/local/lib/libicule.50.1.dylib(兼容版本50.0.0,当前版本50.1.0)
/usr/lib/libstdc++.6.dylib(兼容版本7.0.0,当前版本56.0.0)
/usr/lib/libSystem.B.dylib(兼容版本1.0.0,当前版本169.3.0)
/usr/lib/libgcc_.1.dylib(兼容版本1.0.0,当前版本1669.0.0)
有人碰到过同样的问题吗?我还能试什么

更多信息 /usr/local/bin/python:Mach-O 64位可执行文件x86_64
/usr/local/ceral/python/2.7.3/lib/python2.7/site-packages//u icu.so:Mach-O 64位bundle x86_64

最后,我将
icu4c
版本降级为4.8.1.1,使其工作正常

$ brew uninstall icu4c

$ pip uninstall pyicu

$ brew versions icu4c
4.8.1.1  git checkout 3f0fb81 /usr/local/Library/Formula/icu4c.rb
50.1     git checkout 03ed757 /usr/local/Library/Formula/icu4c.rb
49.1.2   git checkout c25fd2f /usr/local/Library/Formula/icu4c.rb
4.8.1    git checkout 4ed0519 /usr/local/Library/Formula/icu4c.rb
4.4.1    git checkout c1e5cc2 /usr/local/Library/Formula/icu4c.rb

$ cd `brew --prefix`

$ git checkout 3f0fb81 /usr/local/Library/Formula/icu4c.rb

$ brew install icu4c

$ env LDFLAGS="-L/usr/local/opt/icu4c/lib" CPPFLAGS="-I/usr/local/opt/icu4c/include" pip install pyicu        

$ python
Python 2.7.3 (default, Jun 14 2012, 00:46:15) 
[GCC 4.2.1 Compatible Apple Clang 3.1 (tags/Apple/clang-318.0.61)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import icu
>>> 

成功

我还尝试从自制中安装不同版本的icu4c。未找到不同的符号<代码>导入错误:dlopen(/Users/jsa/.virtualenvs/SudattaDevelopment/lib/python2.7/site-packages//\u icu.so,2):未找到符号:\uu ZNK6icu\u 4814LEFontInstance10canDisplayEi