Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.
Пример:
string value = null;
if (value.Length == 0) // <-- Causes exception
{
Console.WriteLine(value); // <-- Never reached
}
Ошибка исключения:
Необработанное исключение:
System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. в Program.Main ()
blockquote>
Py2exe позволяет указать дополнительные пакеты / модули для включения с аргументом options
в setup()
, если они не будут автоматически обнаружены. Следующее должно работать:
from distutils.core import setup
import py2exe
setup(
windows=[{'script': 'gui.py'}],
options={
'py2exe':
{
'includes': ['lxml.etree', 'lxml._elementpath', 'gzip'],
}
}
)
Недавно я также обнаружил PyInstaller , который имеет встроенную поддержку для ряда хорошо известных пакетов, включая lxml, так что возможно, стоит попробовать.
Иногда вам нужно будет сделать еще одно действие после изменения файла setup.py
.
Как описано здесь , необходимо будет удалить пакет, если он установлен на «яйцах». Затем установите его снова, заставив easy_install дезактивировать архив с опцией «-Z» следующим образом (у меня была проблема с пакетом paramiko):
pip uninstall paramiko
easy_install -Z paramiko