猿问

python如何将'from'的使用转换为仅导入

我正在尝试使用安装程序将一个简单的 python 程序转换为独立的可执行文件。目标是通过电子邮件发送加密消息。这样做之后,可执行文件无法正常运行,经过思考,我认为问题在于 pyinstaller 的导入有问题。另一篇文章的解决方案建议删除“来自”格式。



from email import encoders

from email.mime.base import MIMEBase

from email.mime.multipart import MIMEMultipart

from email.mime.text import MIMEText

from multiprocessing import Process

from cryptography.fernet import Fernet


我如何将这些转换为仅导入?例如,多处理模块的更改:


from multiprocessing import Process

p = Process(target=x)


import multiprocessing

p = multiprocessing.Process(target=x)

我不确定以上是否正确,所以我不知道如何接近其他人。任何帮助表示赞赏。


慕斯709654
浏览 132回答 2
2回答

慕雪6442864

你的例子是正确的。再举一个例子,您可以将所有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在您的代码中可用,因此您可以直接引用它。

四季花海

您提供的示例是正确的。您也可以为其他人遵循该模板。例如:如果你这样导入import email.mime.base然后你可以访问这个:email.mime.base.MIMEBase我对 pyinstaller 只有一点点经验,但据我了解,它应该没有语法问题from x import y。
随时随地看视频慕课网APP

相关分类

Python
我要回答