Python: Trikčių šalinimas
Susidūrėte su problema savo Python paslaugoje? Sprendimas tikriausiai yra čia!
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Python cloud sprendimą, sukurtą tam, kad jūsų diegimo procesas būtų kuo paprastesnis:
- Diekite savo aplikaciją į gamybinę aplinką per kelias sekundes su paprastu
git push.- Naudokite savo pasirinktą domeno vardą, su automatiniu HTTPS sertifikato konfigūravimu – saugūs ryšiai bus užtikrinti automatiškai.
- Pasikliaukite automatinėmis atsarginėmis kopijomis, atnaujinimais vienu paspaudimu ir prognozuojama kainodara, kad galėtumėte susitelkti į savo kodą, o ne infrastruktūros valdymą.
- Naudokitės aukštu našumu ir saugumu privačioje, dedikuotoje infrastruktūroje. Jūsų aplinka yra izoliuota ir apsaugota.
Taupykite laiką ir supaprastinkite savo darbo eigą: jūsų kodas gali veikti Stackhero Python cloud hosting platformoje vos per 5 minutes.
Stackhero Python debesų prieglobos paslauga yra sukurta būti paprasta, tačiau kartais gali kilti iššūkių. Žemiau pateikiamas vadovas, padėsiantis išspręsti klaidas, su kuriomis galite susidurti.
Klaidos "failed to push some refs to '[...]'" sprendimas
Galite susidurti su šia klaida diegiant programą:
error: failed to push some refs to '[...]'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Šis pranešimas rodo, kad jūsų vietinis Git saugykla nėra sinchronizuota su nuotoline saugykla Stackhero. Norėdami tai išspręsti, galite perrašyti dabartinę būseną nuotolinėje saugykloje naudodami šią komandą:
git push -f stackhero main
Klaidos "src refspec main does not match any" sprendimas
Kai diegiate kodą naudodami git push stackhero main, galite susidurti su šia klaida:
error: src refspec main does not match any
error: failed to push some refs to 'ssh://<XXXXXX>.stackhero-network.com:222/project.git'
Ši klaida rodo, kad main šaka vietoje neegzistuoja. Vietoj to, gali tekti stumti master šaką. Galite pabandyti šią komandą:
git push stackhero master
Klaidos "Everything up-to-date" sprendimas
Git gali rodyti Everything up-to-date, kai nėra aptinkama jokių pakeitimų tarp jūsų vietinio kodo ir kodo Stackhero.
Jei atlikote pakeitimus, bet pamiršote juos įsipareigoti, šios komandos gali padėti:
git add -A .
git commit -m "Jūsų įsipareigojimo pranešimas"
git push stackhero main
Jei nebuvo atlikta jokių realių pakeitimų, bet vis tiek norite inicijuoti diegimą, apsvarstykite šį metodą:
git commit --allow-empty -m "Force update"
git push stackhero main
Patobulinta Makefile versija gali automatizuoti šį procesą. Su šia versija galite diegti naudodami paprastą
make deploykomandą, net jei nėra aptinkama jokių kodo pakeitimų.
Klaidos "make: *** No rule to make target 'run'" sprendimas
Ši klaida rodo, kad arba Makefile trūksta jūsų projekto šaknyje, arba esamas Makefile nenurodo run tikslo.
Norėdami tai išspręsti, galite sukurti Makefile savo projekto šakniniame kataloge su šiuo pavyzdiniu turiniu:
run:
ENV=production gunicorn app:app \
--error-logfile - \
-b 0.0.0.0:8080
Šis scenarijus paleidžia Gunicorn serverį, vykdo app.py failą su Flask instancija app ir klausosi 8080 prievade.
Apsvarstykite galimybę naudoti patobulintą Makefile, kad supaprastintumėte savo vystymo aplinkos paleidimą ir programos diegimą.
Klaidos "make: *** missing separator" sprendimas
Klaida make: *** missing separator atsiranda Makefile, kai tabuliacijos simbolis pakeičiamas tarpais prieš komandą. Kiekviena komanda Makefile turi būti prieš ją einančia tabuliacija, o ne tarpais.
Norėdami ištaisyti šią klaidą, įsitikinkite, kad prieš jūsų komandas yra tabuliacijos simbolis (ne tarpai):
run:
<tab>command
Pakeiskite <tab> tikru tabuliacijos simboliu, kad išspręstumėte problemą.