Я хочу сделать модуль входа smtp с помощью smtplib. Я сделал это исполняемым с pyinstaller. Когда я запускаю его на своем компьютере, который создал эту программу, она работает Но когда я запускаю его на другом компьютере, на котором не установлен Python, возникает ошибка.
Я отправляю данные в argv. В чем проблема?
Я сделал это в Python 3.6.4. и я сделал это в исполняемый файл через
pyinstaller .\login.py -F --onefile
команда.
from email.mime.text import MIMEText
import sys
import smtplib
if sys.argv[1] == '1':
smtp = smtplib.SMTP_SSL('smtp.naver.com', 465)
#print('logint naver')
#msg_from = entry_login_id.get()+'@naver.com'
elif sys.argv[1] == '2':
smtp = smtplib.SMTP_SSL('smtp.gmail.com', 465)
#msg_from = entry_login_id.get()+'@gmail.com'
try:
smtp.login(sys.argv[2], sys.argv[3])
except:
print('Error')
Когда я командую
PS> .\login.exe 2 MYID MYPASSWORD
Traceback (most recent call last):
File "login.py", line 6, in <module>
File "smtplib.py", line 1030, in __init__
File "smtplib.py", line 261, in __init__
File "socket.py", line 673, in getfqdn
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte
[14084] Failed to execute script login1