Cython UnicodeDecodeError

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Leonard
User
Beiträge: 15
Registriert: Freitag 26. Dezember 2008, 15:01

Hi
Ich habe ein Problem mit Cython. Ich bekomme bei kompilieren immer einen UnicodeDecodeError.
Kann mir jemand helfen? Das Problem ist offenbar verbreitet, doch auf Lösungen bin ich noch nicht gestoßen.
Danke
leo

Code: Alles auswählen

C:\Dokumente und Einstellungen\user\Desktop\PathTracer\Zubehör\Module\
Vektor>C:\Programme\Python27\python.exe setup.py build_ext --compiler=mingw32 --
inplace
running build_ext
cythoning Vektor.py to Vektor.c
Traceback (most recent call last):
  File "setup.py", line 8, in <module>
    ext_modules = [Extension("Vektor", ["Vektor.py"])]
  File "C:\Programme\Python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Programme\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Programme\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Programme\Python27\lib\distutils\command\build_ext.py", line 340, in
run
    self.build_extensions()
  File "C:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py",
line 82, in build_extensions
    ext.sources = self.cython_sources(ext.sources, ext)
  File "C:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py",
line 197, in cython_sources
    full_module_name=module_name)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 7
16, in compile
    return compile_single(source, options, full_module_name)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 6
63, in compile_single
    return run_pipeline(source, options, full_module_name)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 5
61, in run_pipeline
    err, enddata = context.run_pipeline(pipeline, source)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 2
21, in run_pipeline
    data = phase(data)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\ParseTreeTransfo
rms.py", line 722, in __call__
    return super(AnalyseDeclarationsTransform, self).__call__(root)
  File "Visitor.py", line 275, in Cython.Compiler.Visitor.CythonTransform.__call
__ (Cython\Compiler\Visitor.c:4932)
  File "Visitor.py", line 258, in Cython.Compiler.Visitor.VisitorTransform.__cal
l__ (Cython\Compiler\Visitor.c:4692)
  File "Visitor.py", line 28, in Cython.Compiler.Visitor.BasicVisitor.visit (Cyt
hon\Compiler\Visitor.c:1150)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\ParseTreeTransfo
rms.py", line 730, in visit_ModuleNode
    node.analyse_declarations(self.env_stack[-1])
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\ModuleNode.py",
line 63, in analyse_declarations
    self.body.analyse_declarations(env)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Nodes.py", line
331, in analyse_declarations
    stat.analyse_declarations(env)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Nodes.py", line
331, in analyse_declarations
    stat.analyse_declarations(env)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Nodes.py", line
4646, in analyse_declarations
    module_scope = env.find_module(self.module_name, self.pos)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Symtab.py", line
 761, in find_module
    module_name, relative_to = self.parent_module, pos = pos)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 2
78, in find_module
    pxd_pathname = self.find_pxd_file(module_name, pos)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 3
09, in find_pxd_file
    return self.search_include_directories(qualified_name, ".pxd", pos)
  File "C:\Programme\Python27\lib\site-packages\Cython\Compiler\Main.py", line 3
53, in search_include_directories
    path = os.path.join(dir, dotted_filename)
  File "C:\Programme\Python27\lib\ntpath.py", line 108, in join
    path += "\\" + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf6 in position 70: ordinal
 not in range(128)
BlackJack

@Leonard: Ich würde mal auf das 'ö' in 'Zubehör' tippen. Offenbar haben die Programmierer nicht daran gedacht, das jemand etwas ausserhalb von ASCII in Dateinamen bzw. Pfaden verwenden könnte.
Leonard
User
Beiträge: 15
Registriert: Freitag 26. Dezember 2008, 15:01

Das gibt es nicht. Was ich schon alles versucht habe... Das wars!!
Vielen Dank
Antworten