2011-03-29 56 views
3

我試圖使用命令pyspatialite符號沒有找到_iconv

sudo python setup.py install 

它編譯成功編譯pyspatialite 2.6.1,但生成的二進制文件丟失的象徵。當我從它導入dbapi2模塊時,出現以下錯誤。

Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34) 
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from pyspatialite import dbapi2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/dbapi2.py", line 27, in <module> 
    from pyspatialite._spatialite import * 
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so, 2): Symbol not found: _iconv 
    Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so 
    Expected in: flat namespace 
in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so 

我該如何解決這個錯誤?

回答

5

我自己找到了答案。在setup.py找一條線,說:

libraries = ['geos','geos_c','proj'] 

增加「的iconv」到列表的末尾,以便它看起來像這樣:

libraries = ['geos','geos_c','proj','iconv']