我正在尝试使用安装程序将一个简单的 python 程序转换为独立的可执行文件。目标是通过电子邮件发送加密消息。这样做之后,可执行文件无法正常运行,经过思考,我认为问题在于 pyinstaller 的导入有问题。另一篇文章的解决方案建议删除“来自”格式。from email import encodersfrom email.mime.base import MIMEBasefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom multiprocessing import Processfrom cryptography.fernet import Fernet我如何将这些转换为仅导入?例如,多处理模块的更改:from multiprocessing import Processp = Process(target=x)到import multiprocessingp = multiprocessing.Process(target=x)我不确定以上是否正确,所以我不知道如何接近其他人。任何帮助表示赞赏。
2 回答

慕雪6442864
TA贡献1812条经验 获得超5个赞
你的例子是正确的。再举一个例子,您可以将所有email
导入更改为
import email
并像这样使用电子邮件包的特定部分
foo = email.mime.base.MimeBase() bar = email.mime.multipart.MIMEMultipart() ...
当您只有 时import email
,整个email
名称在您的代码中可用。要使用特定部分,email
您需要具体参考它们:email.foo.bar.X()
作为示例。
不同之处from x import y
在于您导入的特定部分email
在您的代码中可用,因此您可以直接引用它。

四季花海
TA贡献1811条经验 获得超5个赞
您提供的示例是正确的。您也可以为其他人遵循该模板。
例如:
如果你这样导入
import email.mime.base
然后你可以访问这个:
email.mime.base.MIMEBase
我对 pyinstaller 只有一点点经验,但据我了解,它应该没有语法问题from x import y
。
添加回答
举报
0/150
提交
取消