Я использую NTPlib в моей программе, которая отлично работает на моей машине, но когда я планирую запустить его из pythonanyhere, я получаю следующую ошибку, File "/home/somasundharam/.local/lib/python2.7/site-packages/ntplib.py", line 306, in request
s.sendto(query_packet.to_data(), sockaddr)
error: [Errno 1] Operation not permitted
что я должен сделать, чтобы избежать это?
Ниже приведен код:
Я проигнорировал добавление почтовой части кода, так как она была скопирована из inte rnet, я запускаю этот pgm в python 2.7, потому что * Библиотека 1008 *, используемая в коде, имеет термин async
, используемый в качестве имени переменной, который является ключевым словом в python 3.7, на моей машине я изменил его на smthg, например asyncx
, и он работал нормально, но я не знаю, как изменить то же самое в pythonanywhere
Я установил все пакеты с помощью команды pip2.7
, чтобы запустить его на python 2.7, как упоминалось ранее.
#!/usr/bin/python2.7
# coding: utf-8
from firebase import firebase
import ntplib
from time import ctime
import pandas as pd
firebase = firebase.FirebaseApplication("https://@#$%^&.firebaseio.com/" , None)
c = ntplib.NTPClient()
response = c.request('asia.pool.ntp.org', version=3)
date_str = ctime(response.tx_time).split()
filename = date_str[0]+'_'+date_str[1]+'_'+date_str[2]+'_'+date_str[4]+".csv"
recipients = firebase.get("mailing list" , '')
mail_ids = list(recipients.values())
time_stamp = firebase.get("Time stamp" , '')
temp = firebase.get("TEMP SENSOR",'')
gas = firebase.get("GAS SENSOR", '')
humidity = firebase.get("HUMIDITY SENSOR",'')
sendata = [list(time_stamp.values()) ,list(temp.values()) , list(gas.values()) , list(humidity.values())]
sensor = pd.DataFrame(sendata)
sensor = sensor.transpose()
sensor.columns= ["Time Stamp","Temperature(deg C)" , "Gas Sensor(V)" , "Humidity(%)"]
sensor.to_csv(filename , index = False)
спасибо,