我创建了这个 Python 文件,它会向我发送一封电子邮件,但我无法使其在其他计算机上运行。我尝试使用 PyInstaller,但它不起作用,它给了我一个 dll 错误,如果我尝试获取 dll 并将其放置在目录中,它仍然不起作用。请有人帮助我。
这是代码:
import smtplib, ssl
import socket
port = 465 # For SSL
smtp_server = "smtp.gmail.com"
sender_email = "[email protected]" # Enter your address
receiver_email = "[email protected]" # Enter receiver address
password = "dfhsikvgkgjnkxgo"
message = "Hello world!"
context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)
我尝试使用PyInstaller,但它不起作用,我尝试将PyInstaller创建的文件放在另一台计算机上的文件的同一目录中,但它仍然不起作用。有没有办法让这个脚本在其他没有安装Python的计算机上运行?谢谢
**编辑:**问题似乎与 ssl 库有关,但我对此并不热衷,所以有人可以帮助我吗?我使用的是安装了 Python 310 的 Windows 10 电脑。感谢任何可以帮助我的人。
根据库的大小,您可以使用cx_freeze进行编译: https://pypi.org/project/cx-Freeze/
我不确定 smptlib 的大小,但对于小型库,导出的程序不会超过几 mb,但对于大型库,如 pygame 或 numpy,以及此类 结果可能是几百MB。
我会给您几个链接来帮助您入门:
a)https://pypi.org/project/cx-Freeze/
b)https://cx-freeze.readthedocs.io/en/stable/overview.html
c)https://cx-freeze.readthedocs.io/en/stable/setup_script.html#setup-script
最后:如何使用 cx_freeze?