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

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

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

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

Δημοσίευσηαπό Ilias95 » 07 Ιαν 2012, 14:58

pmav99 έγραψε:1. Πήγαινε View/Windows and Toolbars/Outline
2. Το βασικότερο για εμένα είναι ότι έχεις code completion.

1. Δεν υπάρχει τέτοια επιλογή. Για ποια έκδοση μιλάς; Όπως και να 'χει όμως η έκδοση που υπάρχει στα αποθετήρια του ubuntu μου κάνει νερά.
Κολλάει, κλείνει μόνο του, και άλλα περίεργα. Θα δοκιμάσω κάποια στιγμή να εγκαταστήσω την νεότερη from source.

2. Ενδιαφέρον.
Αλλά εντάξει εγώ προσωπικά χρησιμοποιώ τον interpreter interactively μόνο για να τεσταρω πολύ μικρά samples όπου και βάζω μικρά ονόματα μεταβλητών, έτσι δεν έχω πρόβλημα.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό pmav99 » 07 Ιαν 2012, 15:20

1. από source το χρησιμοποιώ.
2. οι μεταβλητές δεν είναι το πρόβλημα, το namespace των βιβλιοθηκών όμως είναι.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

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

Δημοσίευσηαπό Ilias95 » 07 Ιαν 2012, 15:26

pmav99 έγραψε:2. οι μεταβλητές δεν είναι το πρόβλημα, το namespace των βιβλιοθηκών όμως είναι.

Ω, ναι! Μου διέφυγε αυτό. Μόλις με έπεισες να χρησιμοποιώ ipython. :P
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό clepto » 07 Ιαν 2012, 19:00

Κώδικας: Επιλογή όλων
with open(tmp, 'w') as f:
f.write(pass1)
extpass = "/bin/cat %s" % (tmp)
p2 = subprocess.Popen([ENCFS, "--extpass", extpass, enfolderdir, folderdir], \
stdin=None, stdout=subprocess.PIPE)
if p2.poll() == 0:


Κώδικας: Επιλογή όλων
Traceback (most recent call last):
File "./vault.py", line 153, in create_folder
stdin=None, stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
raise child_exception
OSError: [Errno 2] Δεν υπάρχει τέτοιο αρχείο ή κατάλογος


βρήκα αυτό
Κώδικας: Επιλογή όλων
http://stackoverflow.com/questions/901982/python-oserror-errno-2
αλλά αν βάλω " " δεν θα χρησιμοποιήσει την μεταβλητή που θέλω αλλά το όνομα της μεταβλητής
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό Ilias95 » 07 Ιαν 2012, 20:21

Πιθανότατα κάποιο απ' τα αρχεία που περνάς στην Popen δεν υπάρχει.
Δοκίμασε να εκτελέσεις την εντολή αντικαθιστώντας τις μεταβλητές με κάποια αρχεία/φακέλους που είσαι σίγουρος ότι υπάρχουν για να τεστάρεις αν εκεί είναι το πρόβλημα.

Επίσης θα πρότεινα να χρησιμοποιείς την shlex.split() για να περνάς τις λίστες στην subprocess. Αλλιώς είναι πολύ πιθανό να περάσεις κατά λάθος τα ορίσματα με λάθος σειρά.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό medigeek » 07 Ιαν 2012, 20:58

clepto έγραψε:
OSError: [Errno 2] Δεν υπάρχει τέτοιο αρχείο ή κατάλογος

Δημιουργησες τους φακέλους enfolderdir και folderdir πριν την εκτέλεση της εντολής; :)
Εθεσες σωστά το ENCFS; είναι εγκατεστημένο το /usr/bin/encfs;
Ξανακοίταξε το παράδειγμα που σου έδωσα:
viewtopic.php?p=223780#p223780

Κώδικας: Επιλογή όλων

ENCFS = "/usr/bin/encfs"
[...]
print("Creating folders")
if not os.path.exists(enfolderdir):
os.mkdir(enfolderdir, 0700) # mkdir and chmod 0700
if not os.path.exists(folderdir):
os.mkdir(folderdir, 0700)
print("Running encfs")
p2 = subprocess.Popen([ENCFS, "--extpass", extpass, enfolderdir, folderdir], \
stdout=subprocess.PIPE)


Θα μπορούσες να κοιτάξεις τις τιμές που δίνεις στο subprocess:
Κώδικας: Επιλογή όλων
print("encfs: %s - enfolder: %s - folderdir: %s" % (ENCFS, enfolderdir, folderdir))

Κάνε κατάχρηση του print(), βάλε το μετά από κάθε εντολή για να ξέρεις τι ακριβώς συμβαίνει και που. ;)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

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

Δημοσίευσηαπό clepto » 08 Ιαν 2012, 02:31

εντάξει το βρήκα το λάθος...αλλά πάλι κάτι δεν βγαίνει σωστά και δεν κρυπτογραφείται ο φάκελος, δεν θυμάμαι τώρα τι ήταν...θα το κοιτάξω αύριο πιθανόν..
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό Ilias95 » 08 Ιαν 2012, 03:11

Off topic:
@pmav99
Δοκίμασα την τελευταία έκδοση του spyder. Ναι, όντως βρήκα το outline. Στην προηγούμενη έκδοση δεν υπήρχε.
Μία απορία.

Ένα πολύ ωραίο χαρακτηριστικό που παρατήρησα στην προηγούμενη version είναι ότι σου σημειώνει με κόκκινο τις γραμμές όπου έχεις συντακτικά λάθη, ή χρησιμοποιείς μεταβλητές που δεν έχουν δηλωθεί ή κάνεις imports που δεν τα χρησιμοποιείς κ.α. Αυτό γίνεται σε κάθε save και αν κατάλαβα καλά γίνεται με το pylint.
Στην τελευταία version δεν δουλεύει έτσι. Πρέπει να πατήσω "Source" -> "Run pylinc code analysis" για να γίνει η ανάλυση και καθυστερεί αρκετά. (Βέβαια εδώ βγάζει επιπλέον μηνύματα για convention errors κλπ). Ξέρεις αν υπάρχει τρόπος να γίνεται αυτόματα αυτό με κάθε νέο save όπως στην προηγούμενη version;
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Δημοσίευσηαπό medigeek » 08 Ιαν 2012, 03:35

clepto έγραψε:θα το κοιτάξω αύριο πιθανόν..

ό,τι χρειαστείς, εδώ είμαστε!
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

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

Δημοσίευσηαπό pmav99 » 08 Ιαν 2012, 12:46

Ηλία, αυτό που λες για τα συντακτικά λάθη, γίνεται με το Rope. Για να τρέξεις το pylint το κάνεις όπως είπες (ή πατώντας το F8).
Δες στο about αν το έχεις εγκατεστημένο.

Έτρεξες το setup.py? Αν δε θες να εγκαθιστάς πακέτα εκτός package manager, το spyder τρέχει και από source. δίνεις απλά από το root φάκελο του repository το εξής
Κώδικας: Επιλογή όλων
$ python bootstrap.py --gui=pyqt

Το --gui δεν είναι υποχρεωτικό αλλά εγώ έχω εγκατεστημένο και το PySide οπότε πρέπει να ξεχωρίζω μεταξύ τους.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

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

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