Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

 

Εγκατέστησα το python3-lxml και μετά όταν προσπάθησα να το τρέξω μου έβγαλε το ίδιο error με τον mad-proffesor

Traceback (most recent call last):
  File "meteo_qt/meteo_qt.py", line 645, in <module>
    main()
  File "meteo_qt/meteo_qt.py", line 630, in main
    locale = QLocale.system().name()
NameError: name 'QLocale' is not defined

 

 

Πρέπει να είναι εντάξει τώρα:

https://github.com/dglent/meteo-qt/commit/e328e53ea2fe073bd2a8dedbdc26d1659b324d2a

  • Απαντ. 65
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Οντος έφτιαξε αλλά με το που το τρέχω μου βγάζει μια ειδοποίηση ότι κάνε δεξί κλικ στο εικονίδιο για διαμόρφωση αλλά δεν υπάρχει πουθενά εικονίδιο.

Δημοσ.

Άλλες εφαρμογές πλαισιίου συστήματος σου δουλεύουν (dropbox/vlc/clipgrab...);

Μήπως δεν έχεις εγκαταστήσει το sni-qt;

http://pkgs.org/ubuntu-14.10/ubuntu-main-amd64/sni-qt_0.2.6-0ubuntu1_amd64.deb.html


Αν και δεν ξέρω αν είναι μόνο σε μένα, κάτι έχει ο διακομιστής openweathermap από σήμερα το πρωί...δεν βρίσκει δεδομένα.

Το κάνει συχνά τις Κυριακές, μάλλον κάνουν εργασίες.

Δημοσ.

Μερικά δεν δουλεύουν όπως του dropbox η το hplip ενώ άλλα τα δείχνει κανονικά όπως αυτό του vlc. Μάλλον έχει να κάνει με το kde5

Δημοσ.

Μερικά δεν δουλεύουν όπως του dropbox η το hplip ενώ άλλα τα δείχνει κανονικά όπως αυτό του vlc. Μάλλον έχει να κάνει με το kde5

Έχεις εγκαταστήσει το sni-qt ;

 Προσπάθησε αν θες αλλα δε νομίζω οτι πρόκειται να πάιξει όπως σου είπα στο gnome χρησιμοποιούν g(nome)js.Είναι javascript engine για το gui του shell καμια σχέση με qt που έχει το kde και τα άλλα. Φυσικά εννοείται gtk(gnome είναι άλλωστε) και για το gui,themes κτλ γίνεται χρήση css.

Αν έχεις όρεξη να το κάνεις port σε gnome ρίξε μια ματιά εδω:

https://github.com/Neroth/gnome-shell-extension-weather/blob/master/src/extension.js

Αυτο χρησιμοποιώ παρεπιπτόντως.

Και τα python bindings

https://developer.gnome.org/references#python-bindings

Εγκατέστησα το gnome, έχεις δίκιο δεν δουλεύει καμιά εφαρμογή που χρησιμοποιεί το systemtray αν δεν είναι gnome extension όπως το παραπάνω.
Πάντως δεν έχει να κάνει με qt ή gtk. Το gnome-shell φαίνεται ότι δεν προσφέρει καθόλου το κλασσικό systemtray.
Στο gnome3-classic το systemtray είναι κρυμμένο κάτω δεξιά. Το άνοιξα κάνοντας κλικ στο εικονίδιο με τον αριθμό των εφαρμογών, αλλά το meteo-qt υπάρχει αλλά δεν εμφανίζει το εικονίδιο...
 
Εγώ ήθελα να γράψω μια εφαρμογή αγνώστου DE, αλλά έχω μείνει λίγο πίσω καθώς όπως το GNOME και το KDE ακολουθούν τη φιλοσοφία να τρέχει μόνο ενσωματωμένες εφαρμογές στο systemtray και στις εγγενείς ειδοποιήσεις....
 
Αυτό το βρίσκω λίγο ανορθόδοξο, το systemtray θα έπρεπε να διατηρεί τη διαλειτουργικότητα με όλα τα DE· υποτίθεται ότι μια εφαρμογή δεν γράφεται για ένα DE μόνο.
 
Τελικά έχω περισσότερες πιθανότητες συμβατότητας με windows παρά με σύγχρονα DE :mrgreen:
Δημοσ.

το sni-qt είναι από τι βλέπω κανονικά εγκατεστημένο.

 

Ποια έκδοση KDE και Qt έχεις;

Δοκίμασα το live CD του Manjaro (καταπληκτικό) με KDE5 αλλά Qt 5.4.1

To πρόγραμμα δουλεύει και κάθεται σωστά στο systemtray αλλά δεν δουλεύει το υπομενού των αποθηκευμένων πόλεων, θα δουλέψει στην 5.4.2 με αυτό: https://codereview.qt-project.org/#/c/103280/

Και χρειάζεται KDE frameworks 5.7 >

https://github.com/dglent/meteo-qt/issues/34

Δημοσ.

Την τελευταία έκδοση του kde5 έχω για την qt δεν το γνωρίζω. Γενικά αυτή η έκδοση του kubuntu έχει διάφορα θέματα εδώ που τα λέμε. 

  • 3 εβδομάδες αργότερα...
Δημοσ.

Το logging της Python είναι πάρα πολύ ευέλικτο αλλά στην αρχή μπερδεύεσαι πάρα πολύ. Αυτό που σου έδειξα στο gist είναι αυτό που έχω καταλήξει εγώ ως πιο βολικο. Εχεις ένα αρχείο JSON που ορίζεις τα πάντα και τελειώνεις.

 

Αυτά που έχει για το SMTP εσένα δεν σου χρειάζονται. Μπορείς να σβήσεις τελείως τον smtp handler. Δεν μπορείς να περιμένεις να έχουν ολοι στημένο mail server.

 

Συμβουλή:

 

Όρισε μια μεταβλητή "debug level" στο QSettings και δώσε της από default την τιμή INFO. Στο δικό σου PC, θα πας στο .config/meteo-qt και θα της βάλεις την τιμή DEBUG.

 

Όταν θα ξεκινάει η εφαρμογή (κατά το runtime δηλάδη) θα δίνει στο root logger το level που έχει καθοριστεί στο QSettings (δηλαδή INFO στους end-users και DEBUG σε εσένα).

 

Έτσι θα μπορείς να αφήνεις debug log messages μέσα στον κώδικα χωρίς πρόβλημα γιατί θα τα βλέπεις μόνο εσύ κατά το development.

 

Αν κάποιος user σου αναφέρει προβλήματα που δεν μπορείς να λύσεις αλλιώς, του λες να πάει στο .config/meteo-qt και να το βάλει και αυτός DEBUG. Έτσι θα μπορεί να σου στείλει αναλυτικό output.

 

Κατά πάσα πιθανότητα θα θες να προσθέσεις και τον file-handler στον root logger.

 

Τσέκαρε πάντως μήπως το Qt έχει τίποτα από default για logging.

Χρησιμοποίησα το logging της Python τελικά και όχι το QMessageLogger (γιατί βρήκα περισσότερα παραδείγματα)

https://github.com/dglent/meteo-qt/commit/90c005c3aa846b546437218ebbcf35075e9bb008

 

Έχω βάλει 2 επίπεδα μόνο DEBUG και INFO

Αν κατάλαβα καλά το επίπεδο INFO εμφανίζει όλα εκτός του DEBUG και το DEBUG τα εμφανίζει όλα.

Δημοσ.

Χωρίς να τρέξω τον κώδικα και υποθέτοντας ότι η setting.value() επιστρέφει None αν λείπει το field από το αρχείο *.ini, νομίζω ότι μπορείς να το απλοποιήσεις κάπως έτσι:

 

log_level = settings.value('Logging_Level') or 'INFO'
log_filename = settings.value('Logging_Filename')
logging.basicConfig(
    format='%(asctime)s %(message)s - %(name)s - %(levelname)s',
    datefmt='%m/%d/%Y %I:%M:%S',
    filename=log_filename,
    level=log_level
)
logger = logging.getLogger('meteo-qt')
logger.info("This is an INFO message.")

Όλα τα υπόλοιπα που έχεις δεν χρειάζονται.

Δημοσ.

Οκ το απλοποίησα, πίστευα ότι δεν μπορούσα να δώσω string στο level=

 

Όμως μόνο με το παραπάνω δεν αποθηκεύει τις καταγραφές σε αρχείο

Έψαχνα να έχω εκτύπωση και στο stdout και σε αρχείο

 

Έβαλα το if None στο settings.value ώστε να προστεθεί η εγγραφή στο αρχείο ρυθμίσεων και αν θέλω να αλλάξω από info σε debug απλά να αλλάζω μια μόνο λέξη...

https://github.com/dglent/meteo-qt/commit/ff34393986caae0ef6aeef6215aaa3a572c3b78a

  • 5 μήνες μετά...
Δημοσ.

Μου αναφέρουν μια κατάρρευση:

#0 0x00007f2acebc05f8 in raise () from /usr/lib/libc.so.6
#1 0x00007f2acebc1a7a in abort () from /usr/lib/libc.so.6
#2 0x00007f2acd5c5fc1 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5
#3 0x00007f2acde26591 in ?? () from /usr/lib/python3.5/site-packages/PyQt5/QtCore.so
#4 0x00007f2ac8f75a76 in ?? () from /usr/lib/python3.5/site-packages/sip.so
#5 0x00007f2acdd23b53 in ?? () from /usr/lib/python3.5/site-packages/PyQt5/QtCore.so
#6 0x00007f2acd5d896e in ?? () from /usr/lib/libQt5Core.so.5
#7 0x00007f2acef3c4a4 in start_thread () from /usr/lib/libpthread.so.0
#8 0x00007f2acec7613d in clone () from /usr/lib/libc.so.6

https://github.com/dglent/meteo-qt/issues/44

 

Αυτό το ίχνος είναι σε C++ και δεν ξέρω να το επεξεργαστώ.

Είναι κάτι που μπορεί να εντοπιστεί στον κώδικα Python από το παραπάνω;

  • 4 μήνες μετά...
  • 4 χρόνια αργότερα...
Δημοσ. (επεξεργασμένο)

Μόλις το κατέβασα απ' το github και το έτρεξα χωρίς εγκατάσταση. Και σε μένα το ίδιο βγάζει.

EDIT:

Αφού δοκίμασα διάφορα παίρνοντας το ίδιο σφάλμα, τελικά έτρεξε μόνο αφού έβγαλα το αρχείο meteo_qt από το φάκελο bin και το έβαλα στον γονικό κατάλογο, ενώ άλλαξα τη γραμμή import ως:

import meteo_qt

Κάτι πρέπει να έχει αλλάξει με την python3.9. Ασχολούμαι από χόμπυ με pyqt κάπου κάπου και έχω κάποια projects για προσωπική χρήση κυρίως. Χρησιμοποιώ το PyCharm και virtual python enviroment για το καθένα. Απ' όταν έγινε η αναβάθμιση σε 3.9 όλα σταμάτησαν να λειτουργούν στο PyCharm βγάζοντας το σφάλμα no such file or directory. Φτιάχνοντας νεο virtual environment(python 3.9), ξαναλειτούργησαν. Απ' όσο μπορέσα να καταλάβω(μιας και δεν έχω ιδιαίτερες γνώσεις προγραμματισμού), δημιουργείται πρόβλημα με τις διαδρομές των αρχείων. Τα αναφέρω λοιπόν αυτά μήπως και σε βοηθήσουν να εντοπίσεις το πρόβλημα.

Επεξ/σία από dancer_69

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...