Отладка 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 в моем собственном коде.

Другие вопросы по тегам