Проблема Unicode при использовании cppimport / pybind11 - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь использовать cppimport, библиотеку на основе pybind11, чтобы импортировать некоторые *. cpp файлы непосредственно в python, в соответствии с примером автора .

Я использую Pycharm и python 3.7, установил как cppimport, так и pybind11, win10.
Код импорта довольно просто использовать cppimport.

import cppimport.import_hook
import DemoTrade

Затем я получил сообщение об ошибке

mako.exceptions.CompileException: Unicode decode operation of encoding 'ascii' failed in file 'C:\Users\...\DemoTrade.cpp' at line: 0 char: 0

Адрес файлов правильный, иначе выдаст другую ошибку

Проблема, похоже, в кодировке файлов, я изменил другую кодировку, но ничего не улучшилось.
Я не Не знаю, как с этим бороться. Спасибо за помощь.

1 Ответ

0 голосов
/ 29 мая 2020

Поскольку cppimport основан на pybind11 и mako, это проблема mako.

в cppimport lib найдите templating.py.

Затем добавьте нужный код в mako.template.Template (). Ниже приведен пример

mako.template.Template(filename = filepath, lookup = lookup,
                      input_encoding='gb2312', output_encoding='gb2312') 

Затем он решен.

...