hellslade
Апрель 17, 2008 18:01:47
при сборке возникает вот такая вот ошибочка:
The following modules appear to be missing
setup.py
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 1:
sys.argv.append("py2exe")
sys.argv.append("-q")
setup(options = {"py2exe": {
"bundle_files": 1,
"compressed": 1}},
zipfile = None,
console = ["key.py"]
)
key.py, список импортов
from smtplib import SMTP
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
вот почему возникает вышеизложенная ошибка? может я собираю как нить не правильно?
hellt
Апрель 17, 2008 18:15:54
может стоит явно сказать py2exe какие модули подключать?
вот как у меня
from distutils.core import setup
import py2exe
options = {
"bundle_files": 1, # Used for one big exe
"compressed": 1,
"packages": ["encodings", "pywinauto", "pywinauto.controls", "pywinauto.tests"],
}
setup(
options = {"py2exe": options},
console=["hosts.py"], # For console applications
# windows=["name.pyw"], # For window applications
zipfile = None,
)
pyuser
Апрель 18, 2008 02:05:08
hellslade
Апрель 18, 2008 16:51:31
дело в том, что явно указывать модули я уже пробовал.
если указать только модуль `email` то ошибка все равно есть:
The following modules appear to be missing
['email.Charset', ‘email.Encoders’, ‘email.Errors’, ‘email.Generator’, ‘email.He
ader’, ‘email.Iterators’, ‘email.MIMEAudio’, ‘email.MIMEBase’, ‘email.MIMEImage’
, ‘email.MIMEMessage’, ‘email.MIMEMultipart’, ‘email.MIMEText’, ‘email.Message’,
‘email.Parser’, ‘email.Utils’, ‘email.base64MIME’, ‘email.quopriMIME’]
а если указывать каждый модуль отдельно, типа так вот:
'packages':
пишет ‘No module named email.MIMEMultipart’
poltergeist
Апрель 18, 2008 23:22:09
Почему бы не заглянуть в архив с собранными скриптами и не убедиться в наличии недостающих модулей. Кстати можно задавать * в качестве маски, вот к примеру:
setup(options = {"py2exe":{"compressed": 0,
"optimize": 2,
"ascii": 1,
"bundle_files": 3,
"includes":["sip", "PyQt4._qt", "pyexpat", "socket", "select", "hashlib", "PyQt4.QtXml",
'subprocess','xml.etree.*', 'smtplib', 'email.*', 'email.mime.*', 'encodings.*'],
"excludes":["python25.dll"]}},
zipfile = "library.zip",
windows = [target],
console = [target_debug])
hellt
Апрель 19, 2008 10:05:22
а, кстати, где в собранном exe(если собирать как) “bundle_files”: 1, # Used for one big exe
исходный текст скрипта? или он там в байт-коде? тогда с каким именем
poltergeist
Апрель 19, 2008 14:40:23
попробуй сначала собрать не в один ехе, а в архив, когда ошибки пропадут - соберёшь как раньше в ехе
liebvit
Окт. 1, 2010 13:22:06
у меня была похожая проблема, при сборке exe не включались модули з библиотеки xml.etree
The following modules appear to be missing
py2exe при сборке exe'шника искал etree не path_to_python\Lib\xml\ а в path_to_python\Lib\site-packages\pyxml-0.8.4-py2.6
Оключил в path_to_python\Lib\site-packages\easy-install.pth временно пакет pyxml-0.8.4-py2.6 и exe'шник собрался с нужными модулями xml.etree.
Включены ли нужные скопилированые файлы при “bundle_files”: 1 можно посмотреть в build\bdist.win32\winexe\collect-… вашего проекта.