2016-04-18 10 views
0

Я использую Ubuntu 12.04, Python 2.7.3.
У меня возникла ошибка сегментации в расширении C, с которым я написал письмо. Кажется, что это произошло из указателя, который не был свободен.Вопросы о компиляции Python в режиме отладки

Затем я использую valgrind, чтобы найти утечки памяти. В соответствии с этим answer, я должен скомпилировать Python в режиме отладки, чтобы получить valgrind дружественную версию Python и избавиться от ее нерелевантных отчетов.

Как скомпилировать Python в режиме отладки?

Несмотря на то, что ответ, который я связал, отвечает на часть этого вопроса, он не дает мне достаточной информации.
Действительно, я хочу понять, что происходит, а не просто набирать вещи в некоторых местах, потому что «кто знает? Он может работать».

Таким образом, я хотел бы знать:

  • Что скачать скомпилировать Python?
  • Где набрать это ./configure?
  • Что произойдет с моей текущей установкой? Это повлияет на мою систему?
    Я читал во многих местах, что многие процессы на Ubuntu 12.04 - это , которыми управляет Python, и я не хочу ничего испортить.

Я также пытаюсь найти ответы на вопросы, упомянутые комментарии Яир Daon в:

  • Вы должны перекомпилировать Python как только вы сделали с помощью его отладки компиляции?

    • Если да, то как скомпилировать Python вернуться к стандартному режиму?
+0

Вопрос «как скомпилировать Python в режиме отладки» указан в принятом ответе на вопрос, с которым вы связались. Если этого ответа недостаточно для ваших нужд, вам придется объяснить их более подробно. – Chris

+0

Написана только команда. Я прочитал ответ, и я не знаю, что скачать и где ввести эту команду, и что произойдет с моей предыдущей установкой Python (я не хочу связываться с моей текущей установкой Python ...). Вот почему я прошу здесь дать полное объяснение. – DRz

+2

Благодарим вас за то, что вы обновили свой вопрос. ИМО - лучшее, что вам нужно сделать, - посмотреть официальное [руководство разработчика] (https://docs.python.org/devguide/). Вероятно, вы найдете большую часть того, что вам нужно, в разделе быстрого запуска и на странице [странице настройки] (https://docs.python.org/devguide/setup.html#setup). Если вы создадите новый Python в своем домашнем каталоге, он не должен конфликтовать с вашей системой Python. Просто убедитесь, что вы не запускаете 'sudo make install' или аналогичные (на самом деле, помимо установки системных библиотек и т. Д. С помощью' apt-get', вам не нужно 'sudo' вообще). – Chris

ответ

1

Вот некоторые входы для тех, кто пытается скомпилировать Python в режиме отладки на Ubuntu:

  1. Скачать версию вам от python website.
  2. Нераспределите его, используя tar -xf и перейдите в новый каталог.

    Пример:
    tar -xf Python2.7.3.tgz cd Python-2.7.3

  3. Настройка установки питона для режима отладки, используя ./configure --with-pydebug. Он создаст Makefile, который вам просто нужно будет запустить.

  4. Скомпилируйте источники для создания нового интерпретатора python, запустив Makefile, используя: make install.

Когда вы создаете новый интерпретатор, Python вашей системы будет оставаться чистым.

Если вы собрали его с помощью --prefix=/home/username/workspace/project/python/, вы можете запустить скрипт с новым интерпретатором Python с помощью:

/home/username/workspace/project/python/bin/python script.py

Или, вы можете также добавить притон линию #!/home/username/workspace/project/python/bin/python в начале вашего скрипта, предоставить ему привилегию выполнения (sudo chmod 764 script.py) и запустить ее с помощью нового интерпретатора Python, набрав ./script.py.

Примечание: вы можете проверить документацию Python для большей настройки/компиляции флагов (например, --prefix/-j, спасибо Крису за ссылку).

 Смежные вопросы

  • Нет связанных вопросов^_^