pyinstaller smtplib ошибка Unicodedecode - PullRequest
0 голосов
/ 25 августа 2018

Я хочу сделать модуль входа 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
...