2

以下进口:

import pyodbc, sys, smtplib, os
from datetime import date
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
import email.iterators
import email.generator
from email import Encoders 

在 Python2.6 中使用 py2exe 创建 exe 时可以正常工作,但在 Python2.5 中不能

以下模块似乎缺少 ['email.Encoders', 'email.Generator', 'email.Iterators', 'email.MIMEText', 'email.Utils', 'email.base64MIME']

安装程序.py:

from distutils.core import setup
import py2exe, glob
import modulefinder

modulefinder.AddPackagePath("mail.mime", "base")
modulefinder.AddPackagePath("mail.mime", "multipart")
modulefinder.AddPackagePath("mail.mime", "nonmultipart")
modulefinder.AddPackagePath("mail.mime", "audio")
modulefinder.AddPackagePath("mail.mime", "image")
modulefinder.AddPackagePath("mail.mime", "message")
modulefinder.AddPackagePath("mail.mime", "application")

setup(
    console=['capfile_tester.py'],
    options = { "py2exe": { "includes": "decimal, datetime, email" } })

我以为我解决了一个问题,但不幸的是我必须尝试 python2.5。

4

2 回答 2

2

Py2Exe 在编译 exe 内部的各种模块时有很多错误。我自己也遇到过这种问题。我的建议是使用 pyInstaller,我认为它更好,更易于使用。

于 2009-11-20T17:43:38.377 回答
0

电子邮件模块有同样的问题。即使它警告说很多模块丢失了,但是当我运行时,我只面临两个问题:一个是多部分的,另一个是文本的。我通过在 setup.py 中明确包含这两个模块来使其工作:

旧的 setup.py 包含:

setup(console = ['main.py'])

新的 setup.py 包含:

setup(console = ['main.py'], 
      options={"py2exe":{"includes":["email.mime.multipart","email.mime.text"]}})
于 2015-07-23T22:18:49.850 回答