Command PhaseScriptExecution failed with a nonzero exit code

382 views
Skip to first unread message

python stuff

unread,
Apr 20, 2023, 4:07:38 PM4/20/23
to Kivy users support

Versions

  • Python :3.10 or 3.9 tried both
  • MacOS version :13.3.1 ventura
  • XCode Version :14.3 or 14.2
  • Cython version :0.29.3

Describe the bug
When running my xcode project getting Command PhaseScriptExecution failed with a nonzero exit code.

To Reproduce
make env, install kivy-ios with development version, toolchain build python3 kivy pillow,toolchain pip --no-deps kivymd,toolchain pip install geopy requests scipy sounddevice, toolchain pip install git+https://github.com/openai/whisper.git ,toolchain create WeatherPsychic /Users/suhaan/Documents/Suhaans_mac_python_programs/weatherapp/, open weatherpsychic-ios/weatherpsychic.xcodeproj, and run and get Command PhaseScriptExecution failed with a nonzero exit code.When clicking on it nothing appears same if say reveal in project navigator.After Sometime the error comes.

Expected behavior
program to work

Logs

Command PhaseScriptExecution failed with a nonzero exit code

Screenshots

Additional context
Code:

from kivymd.app import MDApp from kivymd.uix.dialog import MDDialog from kivymd.uix.label import MDLabel from kivymd.uix.screen import MDScreen from kivymd.uix.button import MDRectangleFlatButton, MDFlatButton import whisper import sounddevice as sd from scipy.io.wavfile import write import os from kivy.lang import Builder from kivymd.uix.textfield import MDTextField from kivy.config import Config from kivy.uix.image import Image from kivymd.uix.button import MDIconButton import requests token='serect' city_helper =""" MDTextField: hint_text: "Enter city name with country or state" helper_text: "eg: Rock Hill,us or 29730, US" helper_text_mode: "on_focus" pos_hint: {'center_x':0.35,'center_y':0.8} size_hint_x: None width:680 icon_right: "weather-partly-cloudy" mode:"fill" on_text_validate: self.s """ from geopy.geocoders import Nominatim def cptizefirtword(word): result = "" for i in word: if i.isupper(): result=result+" "+i.upper() else: result=result+i return result[1:] def get_location_info(lat, long): geolocator = Nominatim(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36') location = geolocator.reverse(f"{lat}, {long}") address = location.raw['address'] city = address.get('city', '') state = address.get('state', '') country = address.get('country', '') if not city: return f"{state}, {country}" return f"{city}, {state}, {country}" #5386fe8b412f65c8fe185582a8a170a7 def citytocords(cityname): geolocator = Nominatim(user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36") c=geolocator.geocode(cityname) long=c.longitude lat=c.latitude return f"{lat},{long}" # Search for current weather in London (Great Britain) and get details def get_weather( latitude: float, longitude: float, language: str = "en", timezone: str = "America/New_York", dataSets: list[str] = ["currentWeather", "forecastDaily"]) -> dict: url = f"https://weatherkit.apple.com/api/v1/weather/{language}/{latitude}/{longitude}" headers = { "Authorization": f"Bearer {token}" } params = { "timezone": timezone, "dataSets": ",".join(dataSets) } response = requests.get(url, headers=headers, params=params) return response.json() class Weatherapp(MDApp): def has_numbers(self,inputString): return any(char.isdigit() for char in inputString) def build(self): self.screen = MDScreen() I=Image(source='apple.png',pos_hint={'center_x':0.125,'center_y':0.1}) I1=MDLabel(text='Weather',pos_hint={'center_x':0.65,'center_y':0.1},font_style='H4') self.l1 = MDLabel(text='Weather Psychic',pos_hint={'center_x':0.6,'center_y':0.86},font_style='H4') self.l2 = MDLabel(text='', pos_hint={'center_x': 0.825, 'center_y': 0.57}) self.l3 = MDLabel(text='', pos_hint={'center_x': 0.8, 'center_y': 0.44}) self.l4 = MDLabel(text='', pos_hint={'center_x': 0.8, 'center_y': 0.38}) #self.l6 =MDLabel(text='Alerts:', pos_hint={'center_x': 0.525, 'center_y': 0.45}) self.l5 = MDLabel(text='[b][/b]', pos_hint={'center_x': 0.8, 'center_y': 0.65},markup=True,font_style='H1') self.l7 = MDLabel(text='',pos_hint={'center_x': 0.8, 'center_y': 0.53},bold=True,font_style='H5') self.l8 = MDLabel(text='',pos_hint={'center_x': 0.8, 'center_y': 0.48},bold=True,font_style='H5') self.l9 = MDLabel(text='', pos_hint={'center_x': 0.8, 'center_y': 0.41}) self.city = MDTextField(hint_text= "city,ctry or zipcode,ctry", helper_text= "eg: Rock Hill,us or 29730,us", helper_text_mode= "on_focus", pos_hint= {'center_x':0.35,'center_y':0.78}, size_hint_x= None, width=680, mode="fill")#Builder.load_string(city_helper) #tool=Builder.load_string(ts) #keyboard=VKeyboard(on_key_up=self.keyup) IB1=MDIconButton(icon="microphone",pos_hint={"center_x": 0.03, "center_y": 0.78},on_release=self.record) c1= MDRectangleFlatButton(text='Celsius',pos_hint={'center_x':0.2,'center_y':0.3},on_release=self.c) d1= MDRectangleFlatButton(text='Dark Theme',pos_hint={'center_x':0.55,'center_y':0.2},on_release=self.d) l1= MDRectangleFlatButton(text='White Theme',pos_hint={'center_x':0.22,'center_y':0.2},on_release=self.l) b1 = MDRectangleFlatButton(text='Search',pos_hint={'center_x':0.73,'center_y':0.78},on_release=self.showresults) f1 = MDRectangleFlatButton(text='Fahrenheit',pos_hint={'center_x':0.55,'center_y':0.3},on_release=self.f) clear1 = MDRectangleFlatButton(text='Clear Text',pos_hint={'center_x':0.55,'center_y':0.15},on_release=self.clear) self.screen.add_widget(I) self.screen.add_widget(self.city) self.screen.add_widget(self.l1) self.screen.add_widget(self.l7) self.screen.add_widget(I1) self.screen.add_widget(d1) self.screen.add_widget(l1) self.screen.add_widget(b1) self.screen.add_widget(c1) self.screen.add_widget(f1) self.screen.add_widget(IB1) self.screen.add_widget(clear1) #self.screen.add_widget(keyboard) self.screen.add_widget(self.l2) self.screen.add_widget(self.l3) self.screen.add_widget(self.l4) self.screen.add_widget(self.l5) self.screen.add_widget(self.l8) self.screen.add_widget(self.l9) #screen.add_widget(tool) return self.screen def c(self,obj): try: geolocator = Nominatim(user_agent="Mozilla/5.0 (X11; CrOS aarch64 15236.80.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.125 Safari/537.36") c=geolocator.geocode(self.city.text) long=c.longitude lat=c.latitude print(lat,long) # url = f"https://weatherkit.apple.com/api/v1/weather/en/{lat}/{long}" # response = requests.get(url, headers=headers, params=params) # w=response.json() w=get_weather(lat,long) hum=w['currentWeather']['humidity'] wd=w['currentWeather']['windDirection'] ds=w['currentWeather']['conditionCode'] t=round(w['currentWeather']['temperature']) mint=round(w['forecastDaily']['days'][0]['temperatureMin']) maxt=round(w['forecastDaily']['days'][0]['temperatureMax']) ww=w['currentWeather']['windSpeed'] fl=round(w['currentWeather']['temperatureApparent']) hum=str(hum).strip('0') hum=hum.strip('.') #self.l1.text=f"{get_location_info(lat=lat,long=long)}" self.l2.text = f'{ds}' #self.l6.text = f'Alerts:{alert(c[0],c[1])}' self.l3.text = f'Wind Speed: {round(ww/1.609)} mph Wind Degree: {wd} ' self.l4.text = f'Humidity: {hum}%' self.l5.text = f'[b]{t}°[/b]' self.l7.text = f'H:{maxt} L:{mint}' self.l8.text=f"Feels Like:{fl}°" except: self.dialog = MDDialog(title='Error', text='Please enter a city,country name or try again in 60 seconds', size_hint=(0.8, 1), buttons=[MDFlatButton(text='Close', on_release=self.close_dialog), ] ) #self.dialog.open() def d(self,i): self.theme_cls.theme_style="Dark" def l(self,i): self.theme_cls.theme_style="Light" # def s(self, value): # if value: # print('MDTextField clicked') # c=self.city.text.split(',') # print(c) # list_of_tuples = reg.ids_for(c[0], matching='like') # #print(list_of_tuples) # stufflike=[] # latl=[] # lonl=[] # for i in range(len(list_of_tuples)): # stufflike.append(list_of_tuples[i][4]) # stufflike.append(list_of_tuples[i][5]) # #print(stufflike) # #print(self.city.text) # for index, element in enumerate(stufflike): # if index % 2 == 0: # latl.append(element) # else: # lonl.append(element) # #print(len(latl),len(lonl)) # cities=[] # for i in range(len(latl)): # cities.append(get_location_info(latl[i],lonl[i])) # print(cities) def showresults(self,obj): try: geolocator = Nominatim(user_agent="Mozilla/5.0 (X11; CrOS aarch64 15236.80.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.125 Safari/537.36") c=geolocator.geocode(self.city.text) long=c.longitude lat=c.latitude print(lat,long) # url = f"https://weatherkit.apple.com/api/v1/weather/en/{lat}/{long}" # response = requests.get(url, headers=headers, params=params) # w=response.json() # print(w) w=get_weather(lat,long) hum=w['currentWeather']['humidity'] wd=w['currentWeather']['windDirection'] ds=w['currentWeather']['conditionCode'] ds=cptizefirtword(str(ds)) t=round(w['currentWeather']['temperature']*1.8+32) mint=round(w['forecastDaily']['days'][0]['temperatureMin']*1.8+32) maxt=round(w['forecastDaily']['days'][0]['temperatureMax']*1.8+32) ww=round(w['currentWeather']['windSpeed']) fl=round(w['currentWeather']['temperatureApparent']*1.8+32) hum=str(hum).strip('0') hum=hum.strip('.') self.l1.text=f"{get_location_info(lat=lat,long=long)}" self.l2.text = f'{ds}' #self.l6.text = f'Alerts:{alert(c[0],c[1])}' self.l3.text = f'Wind Speed: {round(ww/1.609)} mph' self.l4.text = f'Humidity: {hum}%' self.l5.text = f'[b]{t}°[/b]' self.l7.text = f'H:{maxt} L:{mint}' self.l8.text=f"Feels Like:{fl}°" self.l9.text=f'Wind Degree: {wd}' except: self.dialog = MDDialog(title='Error', text='Please enter a city,country name or try again in 60 seconds', size_hint=(0.8, 1), buttons=[MDFlatButton(text='Close', on_release=self.close_dialog), ] ) self.dialog.open() # def keyup(self,keyboard,keycode,*args): # if isinstance(keycode,tuple): # keycode=keycode[1] # t=self.city.text # if keycode=="spacebar": # keycode=" " # if keycode=="backspace": # t=t[:-1] # keycode='' # if keycode=='enter': # keycode='' # self.showresults('f') #self.city.text=f"{t}{keycode}" def f(self,obj): try: geolocator = Nominatim(user_agent="Mozilla/5.0 (X11; CrOS aarch64 15236.80.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.125 Safari/537.36") c=geolocator.geocode(self.city.text) long=c.longitude lat=c.latitude print(lat,long) # url = f"https://weatherkit.apple.com/api/v1/weather/en/{lat}/{long}" # response = requests.get(url, headers=headers, params=params) # w=response.json() # print(w) w=get_weather(lat,long) hum=w['currentWeather']['humidity'] wd=w['currentWeather']['windDirection'] ds=w['currentWeather']['conditionCode'] ds=cptizefirtword(str(ds)) t=round(w['currentWeather']['temperature']*1.8+32) mint=round(w['forecastDaily']['days'][0]['temperatureMin']*1.8+32) maxt=round(w['forecastDaily']['days'][0]['temperatureMax']*1.8+32) ww=round(w['currentWeather']['windSpeed']) fl=round(w['currentWeather']['temperatureApparent']*1.8+32) hum=str(hum).strip('0') hum=hum.strip('.') #self.l1.text=f"{get_location_info(lat=lat,long=long)}" self.l2.text = f'{ds}' #self.l6.text = f'Alerts:{alert(c[0],c[1])}' self.l3.text = f'Wind Speed: {round(ww/1.609)} mph' self.l4.text = f'Humidity: {hum}%' self.l5.text = f'[b]{t}°[/b]' self.l7.text = f'H:{maxt} L:{mint}' self.l8.text=f"Feels Like:{fl}°" self.l9.text=f'Wind Degree: {wd}' except: self.dialog = MDDialog(title='Error', text='Please enter a city,country name or try again in 60 seconds', size_hint=(0.8, 1), buttons=[MDFlatButton(text='Close', on_release=self.close_dialog), ] ) self.dialog.open() def close_dialog(self, obj): self.dialog.dismiss() def record(self,j): try: fs = 44100 duration = 3 myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=1) sd.wait() write('output.wav', fs, myrecording) model = whisper.load_model("base") result = model.transcribe("output.wav",fp16=False) res=str(result["text"]).strip('.') self.city.text=res os.remove('output.wav') except: self.dialog = MDDialog(title='Error', text='Please try again.It only last for 3 seconds.If you spam it, it might not work.', size_hint=(0.8, 1), buttons=[MDFlatButton(text='Close', on_release=self.close_dialog), ] ) self.dialog.open() def clear(self,j): self.city.text='' Weatherapp().run()

Robert

unread,
Apr 20, 2023, 4:29:45 PM4/20/23
to Kivy users support
For kivy-ios users go to Discord https://discord.gg/qAySaNNe
Reply all
Reply to author
Forward
0 new messages