Отладка Cython с python-dbg завершается неудачно с неопределенным символом: Py_InitModule4_64
Я пытаюсь отладить небольшой проект Cython, следуя инструкциям на официальной странице Cython. но команда:
python-dbg setup.py build_ext --inplace
терпит неудачу с ошибкой ниже. Я видел ответы на подобную проблему здесь, но я не думаю, что это относится ко мне, поскольку я использую Cython, установленный через apt-get. Любая помощь приветствуется.
Traceback (последний вызов был последним): файл "build.py", строка 4, из Cython.Build import cythonize
Файл "/usr/lib/python2.7/dist-packages/Cython/Build/init.py", строка 1, из раздела Импорт зависимостей cythonize
Файл "/usr/lib/python2.7/dist-packages/Cython/Build/Dependencies.py", строка 51, из контекста импорта Cython.Compiler.Main, CompilationOptions, default_options
Файл "/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py", строка 17, из импортируемого сканирования PyrexScanner, FileSourceDescriptor ImportError: /usr/lib/python2.7/dist-packages/Cython/Compiler/Scanning.so: неопределенный символ: Py_InitModule4_64 [35101 ссылок]
1 ответ
У меня такая же проблема. В этой статье причина этого объясняется:
Проблема [..] в том, что двоичный файл python-dbg несовместим с модулями, не скомпилированными с ними.
http://hustoknow.blogspot.de/2013/06/why-your-python-program-cant-start-when.html
Мое решение состояло в том, чтобы удалить cython (который был установлен через pip), клонировать репозиторий cython github и вручную установить его с помощью python-dbg:
git clone git@github.com:cython/cython.git
cd cython
sudo python-dbg setup.py install
После этого я смог python-dbg setup.py build_ext --inplace
в моем собственном коде.