2014-09-08 3 views
2

Я бегу Vista SP2: Python 3.3.5Странное поведение IDE с питона файла

У меня довольно большой файл .py (~ 11k линии), которые я работаю. Я недавно установил pyscripter и использовал его без проблем в течение недели или около того. Но вчера я вошел в pyscripter, и как только я добавил в файл одного нового персонажа, я получил ошибку «Out Of Memory». Разумеется, он хватило всего 2 ГБ оперативной памяти на моем ноутбуке. Я попытался открыть файл в IDLE, и хотя я мог бы отредактировать файл, он замерзнет всякий раз, когда я попытаюсь запустить его. Однако в PythonWin файл открывается и работает отлично. Я прокомментировал функцию, которую я в последний раз изменил, задаваясь вопросом, не вызывает ли мой код проблему, но pyscripter и IDLE все еще действуют одинаково.

Кто-нибудь испытывает это раньше? Есть идеи?

ответ

2

Я думаю, что это нужно для того, чтобы открыть графический интерфейс и отобразить файл, так как я считаю, что IDLE загружает все это в ОЗУ при его открытии, поэтому единственный способ обойти это без изменения файла будет добавьте больше ОЗУ, более разумным подходом было бы разбить ваш файл на более мелкие куски, а затем добавить операции импорта в верхней части основного файла.

Это также означает, что файл может быть проще работать (если вы разбить его на чувственных куски, где функции связаны в каждом файле)

, если вы беспокоитесь о том, что произойдет, если вы попытаетесь для компиляции/упаковки его для использования на других компьютерах, я делаю это все время с помощью cx_freeze без проблем.

James

+0

Я могу понять, почему программа загрузит весь файл в ОЗУ, но это всего лишь 69 МБ. Возможно, это также попытка проанализировать содержимое, но мне все же кажется высоким. Я попытаюсь разбить его, как вы предлагаете, и посмотреть, устраняет ли это мою проблему. –

+0

true, но, как показывает графический интерфейс, он также должен помнить цвета для текста и все, что приходит с этим, имея в виду, что IDLE сам написан на питоне, но я считаю, что pythonwin реализован на C, поэтому он более компактен для начала, а это значит, что он занимает меньше памяти самостоятельно –

+0

. Я разбил один файл на четыре модуля. Интересно, что я вырезал основной файл с 11k строк до 2,4k строк, но его размер на диске переместился с 69MB до 2MB. Кажется, что после определенного количества строк файл .py действительно начинает складываться на фунтах. –

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