Требуется решение для установки Mechanize без яйца - сбой Py2exe

Я ломал голову, как заставить Mechanize установить без яйца в Win7. Я попробовал метод easy_install --allways-unzip. Метод easy_install -Z. Добавлен файл .pth в каталог site-packages. Добавлены комбинации вышеперечисленного.

Py2exe плохо работает с файлами egg. Если у вас это работает, пожалуйста, ответьте.

Спасибо - Брэд


Вот некоторые из ссылок, по которым я следовал:

Mechanize не устанавливается easy_install?

Как установить механизировать для Python 2.7?

http://www.daniweb.com/software-development/python/threads/204941

http://www.velocityreviews.com/forums/t691937-re-mechanize-not-recognized-by-py2exe.html


person Verohomie    schedule 14.09.2011    source источник


Ответы (2)


Если вы еще не читали его, на веб-сайте py2exe есть раздел о работа с яйцами. Я не знаю, насколько это эффективно (я никогда не устанавливаю яйца), но py2exe может быть достаточно хитрым, не имея дело с egg установленными пакетами. Я бы сделал одно из следующего:

  1. Загрузите mechanize пакет с исходным кодом, распакуйте его и отредактируйте его setup.py, заменив параметр zip_safe на False. . Затем установите mechanize из командной строки:

    python setup.py install
    
  2. используйте pip для установки:

    pip install mechanize
    

    Конечно, вам нужно сначала установить pip (easy_install pip). pip по умолчанию устанавливает пакеты в плоском виде. (к вашему сведению, если вы в конечном итоге используете pip в Windows, вам нужно помнить, что он не может обрабатывать пакеты Python, требующие компиляции. Механизация не будет проблемой, но если вы начнете использовать ее с какой-либо регулярностью...)

Кроме проблемы egg, я не вижу в структуре пакета mechanize ничего, что указывало бы на то, что у py2exe возникнут проблемы с его установкой после того, как он будет установлен в плоском виде.

person Mark Gemmill    schedule 14.09.2011
comment
Оба способа установки механизации сработали. Py2exe строится без исключений. Когда я запускаю исполняемый файл, создается файл журнала со следующей ошибкой ImportError: No Module Name Inspect. Когда я запускаю программу из исходного кода, я не получаю никаких ошибок и работает нормально. Любые идеи, спасибо за пост - Брэд. - person Verohomie; 21.09.2011

В последней установке mechanize использовался метод 1 от @markgemmill, как указано выше.

Я продолжал получать ошибку журнала: ImportError: No module named inspect при запуске моего исполняемого файла.

После добавления проверки, календаря и т. Д. В include [] в py2exe setup.py я понял, что, возможно, мне следует изменить свой код с:

    import mechanize
        to
    from mechanize import *

Это сработало. Исполняемый файл, сгенерированный из py2exe, запускается!

Нубская ошибка. Всегда учусь... Брэд

person Verohomie    schedule 21.09.2011