From: Peter K. <pet...@wa...> - 2015-01-04 11:18:41
|
On 01/04/2015 01:52 AM, 刘金卿 wrote: > hi, my system is mac os mavericks,and I use > brew install python > brew install hdf4 > brew install numpy > pip install matplotlib > brew install matplotlib-basemap > install cython from source > but when I install ccplot, I got > ======================================================================== > running build > running build_py > running build_ext > cythoning ccplot/hdf.pyx to ccplot/hdf.c > > Error compiling Cython file: > ------------------------------------------------------------ > ... > cimport cython > ^ > ------------------------------------------------------------ > > ccplot/hdf.pyx:1:8: Compiler crash in AnalyseDeclarationsTransform > > File 'ModuleNode.py', line 103, in analyse_declarations: ModuleNode(hdf.pyx:1:0, > full_module_name = 'ccplot.hdf') > File 'Nodes.py', line 387, in analyse_declarations: StatListNode(hdf.pyx:1:0) > File 'Nodes.py', line 387, in analyse_declarations: StatListNode(hdf.pyx:1:8) > File 'Nodes.py', line 6929, in analyse_declarations: CImportStatNode(hdf.pyx:1:8, > module_name = u'cython') > > Compiler crash traceback from this point on: > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Compiler/Nodes.py", line 6929, in analyse_declarations > module_scope = env.find_module(self.module_name, self.pos) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Compiler/Symtab.py", line 1101, in find_module > module_name, relative_to=None if relative_level == 0 else self.parent_module, pos=pos) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Compiler/Main.py", line 140, in find_module > pxd_pathname = self.find_pxd_file(qualified_name, pos) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Compiler/Main.py", line 192, in find_pxd_file > pxd = self.search_include_directories(qualified_name, ".pxd", pos, sys_path=True) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Compiler/Main.py", line 233, in search_include_directories > tuple(self.include_directories), qualified_name, suffix, pos, include, sys_path) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Utils.py", line 22, in wrapper > res = cache[args] = f(*args) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Cython-0.21.2-py2.7-macosx-10.9-x86_64.egg/Cython/Utils.py", line 111, in search_include_directories > path = os.path.join(dir, dotted_filename) > File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 80, in join > path += '/' + b > UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 30: ordinal not in range(128) > building 'ccplot.hdf' extension > clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/netcdf/4.3.2/include -I/usr/include/hdf -I/usr/local/include/hdf -I/opt/local/include -I/usr/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c ccplot/hdf.c -o build/temp.macosx-10.9-x86_64-2.7/ccplot/hdf.o > ccplot/hdf.c:1:2: error: Do not use this file, it is the result of a failed > Cython compilation. > #error Do not use this file, it is the result of a failed Cython compilation. > ^ > 1 error generated. > error: command 'clang' failed with exit status 1 > ======================================================================== Hi, Thanks for the report. I'm not 100% sure, but it seems that it is because you are compiling ccplot in a directory which contains unicode characters in its path. The bug has already been reported to cython, but they don't seem to have done anything about it. https://groups.google.com/forum/#!searchin/cython-users/unicodedecodeerror/cython-users/D8_mhkAUZXA/0ALSNrC7iMkJ I suggest you try moving the ccplot directory to a different system path, one which does not contain non-ASCII characters. If it does not help, please let me know. Regards, Peter |