Τα πάντα για την Python

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 26 Ιούλ 2011, 03:05

Πφ! Το βρήκα τελικά!

Η σειρά:
Κώδικας: Επιλογή όλων
category_relation = relationship(Categories)

έπρεπε να γίνει:
Κώδικας: Επιλογή όλων
category_relation = relationship(Categories, backref=backref('epafes', order_by=id))
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 27 Ιούλ 2011, 16:48

Κάποιος τρόπος για να δημιουργήσω γραφικό περιβάλλον σε GTK με python3;
Είπα να ξεκινήσω να μάθω τον glade, αλλά υπάρχει πρόβλημα. Δεν μπορώ να κάνω import gtk!
Έκανα εγκατάσταση gtk+ 3.0 και pygtk αλλά ακόμα δεν μπορώ να κάνω import κανένα απ' τα δύο στην python3, ενώ στην python2 γίνεται κανονικά.
Υπάρχει τρόπος;
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό pmav99 » 28 Ιούλ 2011, 19:37

νομίζω ότι το pygtk δεν έχει γίνει ακόμη port σε python3. Εναλλακτικά θα σου πρότεινα να χρησιμοποιήσεις pyqt. Τρέχει και σε python2 και python3 και προσωπικά νομίζω ότι είναι η καλύτερη βιβλιοθήκη για δημιουργία GUI.

Αν χρησιμοποιήσεις PyQt και σκοπεύεις να δημιουργήσεις εφαρμογή που θα μοιράσεις σε άλλους να ξέρεις ότι η άδεια χρήσης σου θα πρέπει να είναι GPL-compliant. Αν θέλεις να είναι κλειστή / εμπορική κτλ θα πρέπει να αγοράσεις άδεια από την riverbank. Εναλλακτικά μπορείς να χρησιμοποιήσεις τη βιβλιοθήκη pySideη οποία είναι σχεδόν ίδια με την PyQt (μόνο τα imports αλλάζουν όνομα), βγαίνει σε LGPL αλλά δεν παίζει σε Python3 (ακόμα τουλάχιστον).
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 29 Ιούλ 2011, 01:26

pmav99 έγραψε:νομίζω ότι το pygtk δεν έχει γίνει ακόμη port σε python3. Εναλλακτικά θα σου πρότεινα να χρησιμοποιήσεις pyqt. Τρέχει και σε python2 και python3 και προσωπικά νομίζω ότι είναι η καλύτερη βιβλιοθήκη για δημιουργία GUI.

Αν χρησιμοποιήσεις PyQt και σκοπεύεις να δημιουργήσεις εφαρμογή που θα μοιράσεις σε άλλους να ξέρεις ότι η άδεια χρήσης σου θα πρέπει να είναι GPL-compliant. Αν θέλεις να είναι κλειστή / εμπορική κτλ θα πρέπει να αγοράσεις άδεια από την riverbank. Εναλλακτικά μπορείς να χρησιμοποιήσεις τη βιβλιοθήκη pySideη οποία είναι σχεδόν ίδια με την PyQt (μόνο τα imports αλλάζουν όνομα), βγαίνει σε LGPL αλλά δεν παίζει σε Python3 (ακόμα τουλάχιστον).


Χμμ, όμως μια που το Qt είναι το θεμέλιο του KDE δεν θα υπάρχει πρόβλημα με το Unity και το gnome;
Είναι πλήρως μεταφέρσιμο σε όλα τα γραφικά περιβάλλοντα;

Edit: Δεν με ενδιαφέρει το μη ελεύθερο λογισμικό, οπότε και αναγκαστικά θα χρησιμοποιήσω GPL μιας και υπερέχει κατά τη γνώμη μου απ' τις υπόλοιπες.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό pmav99 » 29 Ιούλ 2011, 08:19

Ναι θα παίζει χωρίς προβλήματα.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό sv1jsb » 01 Αύγ 2011, 12:26

Για να χρησιμοποιήσεις το pygtk στο Gnome 3 (ή καλύτερα με το GTK3) πρέπει να κάνεις import το παρακάτω:
from gi.repository import Gtk

Υπάρχουν ορισμένες αλλαγές αλλά τα βασίκοτερα είναι τα ίδια με τις παλαιότερες εκδόσεις.
Ακόμα η τεκμηρίωση είναι πολύ φτωχή, τόσο για python όσο και για C (η πιο καλή είναι για την vala).
Το σπουδαιότερο είναι ότι πρέπει να το χρησιμοποιείς έτσι:
md=Gtk.MessageDialog(.....)
και όχι
md=gtk.MessageDialog(....)
To πρώτο G έχει γίνει κεφαλαίο.
Περισσότερες πληροφορίες θα βρεις εδώ:
http://live.gnome.org/PyGObject
http://live.gnome.org/PyGObject/IntrospectionPorting
http://developer.gnome.org/gtk3/stable/index.html

Θα σου πρότεινα όμως να κάνεις εγκατάσταση (σαν VM?) ένα λειτουργικό που είναι ήδη στημένο με Gnome 3, όπως Fedora 15. Στα natty θα δυσκολευτείς να το στήσεις σωστά με αμφίβολα αποτελέσματα αν δεν έχεις καλή πείρα σε linux.
Σε fedora 15 χωρίς να πειράξω τίποτα, εγκατέστησα μόνο ότι είχε το repository της fedora σχετικά με την python, μου δούλεψαν χωρίς πρόβλημα python gtk2 και gtk3 προγράμματα.
Programming blog
Γνώσεις ⇛ Linux: Καλά ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 10.04 64bit
Προδιαγραφές ⇛ Phenom II │ 8GB │ 2xATI 5670 │ HD Audio │ TFT 23"
Άβαταρ μέλους
sv1jsb
babeTUX
babeTUX
 
Δημοσιεύσεις: 88
Εγγραφή: 01 Ιουν 2011, 23:50
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Qdata » 02 Αύγ 2011, 20:39

Ερώτηση: Υπάρχει μήπως κάποιος τρόπος για να κάνω το παρακάτω=>
Κώδικας: Επιλογή όλων
Ανοίγω αρχείο>Ψάχνω για μια συμβολοσειρά>Διαγράφω την συμβλοσειρά αυτή

Στην ουσία θέλω να αφαιρέσω από ένα αρχείο που θα ανοίξω κάποιες λέξεις.Ξέρει κανείς πως γίνετε και αν γίνετε;
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό migf1 » 02 Αύγ 2011, 21:17

Qdata έγραψε:Ερώτηση: Υπάρχει μήπως κάποιος τρόπος για να κάνω το παρακάτω=>
Κώδικας: Επιλογή όλων
Ανοίγω αρχείο>Ψάχνω για μια συμβολοσειρά>Διαγράφω την συμβλοσειρά αυτή

Στην ουσία θέλω να αφαιρέσω από ένα αρχείο που θα ανοίξω κάποιες λέξεις.Ξέρει κανείς πως γίνετε και αν γίνετε;

Συνήθως, ανεξάρτητα από γλώσσα, αυτό που κάνεις είναι να κάνεις overwrite μέσα στο αρχείο σου τη μικρότερη ολοκληρωμένη μονάδα που μπορείς να διαβάσεις με μια καινούρια. Π.χ. αν η μικρότερη μονάδα που μπορείς να διαβάσεις από το αρχείο είναι μια γραμμή, διαβάζεις τη γραμμή που περιέχει το string που ψάχνεις, σβήνεις το string και αντικαθιστάς την παλιά γραμμή του αρχείου με τη διορθωμένη.

ΥΓ. Δεν ξέρω αν σε βοηθάει, γιατί δεν είναι Python specific.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Qdata » 02 Αύγ 2011, 21:57

migf1 έγραψε:
Qdata έγραψε:Ερώτηση: Υπάρχει μήπως κάποιος τρόπος για να κάνω το παρακάτω=>
Κώδικας: Επιλογή όλων
Ανοίγω αρχείο>Ψάχνω για μια συμβολοσειρά>Διαγράφω την συμβλοσειρά αυτή

Στην ουσία θέλω να αφαιρέσω από ένα αρχείο που θα ανοίξω κάποιες λέξεις.Ξέρει κανείς πως γίνετε και αν γίνετε;

Συνήθως, ανεξάρτητα από γλώσσα, αυτό που κάνεις είναι να κάνεις overwrite μέσα στο αρχείο σου τη μικρότερη ολοκληρωμένη μονάδα που μπορείς να διαβάσεις με μια καινούρια. Π.χ. αν η μικρότερη μονάδα που μπορείς να διαβάσεις από το αρχείο είναι μια γραμμή, διαβάζεις τη γραμμή που περιέχει το string που ψάχνεις, σβήνεις το string και αντικαθιστάς την παλιά γραμμή του αρχείου με τη διορθωμένη.

ΥΓ. Δεν ξέρω αν σε βοηθάει, γιατί δεν είναι Python specific.


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

EDIT:
Βασικά νομίζω πως τώρα βρήκα την λύση! :)
Τώρα όμως δυσκολεύομαι στο πως θα το ανοίξω.Πως θα ανοίξω πχ το /etc/hosts;
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό migf1 » 02 Αύγ 2011, 23:03

Ένα γκουγκλάρισμα "file handling python" μου έβγαλε πολλά links, σαν κι αυτό: http://www.daniweb.com/software-develop ... ode/216630

;)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι