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

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

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

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

Δημοσίευσηαπό NickMrg » 18 Μάιος 2011, 00:35

Οκ σας ευχαριστώ παίδες!
Off topic:
@medigeek :thumbup: ψιλοξέρεις από python ε;; :ugeek: :P

Edit: Τώρα που παρατήρησα καλύτερα το πινακάκι που έχει σ' το μάθημα και διάβασα καλύτερα το post σου κατάλαβα ακριβώς τι μου είπες.

Επίσης σωστό θα ήταν να βάλω απλά παρενθέσεις!
Κώδικας: Επιλογή όλων
fname = input ("Please, type in your first name: ")
lname = input ("Please, type in your last name: ")
phone = input ("Please, type in your phone number: ")

if (fname and lname and phone) == '':
print ("Do not leave any fields empty")
else:
print ("Thank you!")

Ωραία πάμε παρακάτω... :geek:
Τελευταία επεξεργασία από NickMrg και 18 Μάιος 2011, 00:47, έχει επεξεργασθεί 1 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Χαμηλό ┃ Προγραμματισμός: Ελάχιστο ┃ Αγγλικά: Καλά
NETBOOK
Λειτουργικό σε Η/Υ ϰ μοντέλο: Arch Linux 32-Bit σε HP MINI 110-1150EV
Προδιαγραφές ⇛ Intel Atom N270 1.60GHz │ 1GB │ Intel GMA 950 │ 10,1in 1024 x 600
DESKTOP-PC
Λειτουργικό: Ubuntu 11.10 64bit
Προδιαγραφές ⇛ Intel Core i7 920 │ ASUS PT6 | 6GB DDR3 │ Twintech GTS250 512MB │ SB X-Fi Titanium Fatality Champion Series | Acer HS244HQ LED 3D 24" 1920x1080
Εικόνα
Άβαταρ μέλους
NickMrg
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 533
Εγγραφή: 15 Οκτ 2010, 00:01
Τοποθεσία: Athens, Peristeri
Launchpad: nickmrg
IRC: NickMrg
Εκτύπωση

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

Δημοσίευσηαπό medigeek » 18 Μάιος 2011, 00:44

Ευχαριστώ, προσπάθησα να το απλοποιήσω επειδή μπλέκει binary ελεγχο (το οποίο δεν πολυκαταλαβαίνω). :?

έγραψε:ψιλοξέρεις από python ε;;

Λιγουλάκι.. :oops: Ελπίζω να κάλυψα πλήρως το θέμα! Απορίες δεκτές. :D
Κύπριος; Κόπιασε στο 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

Δημοσίευσηαπό Qdata » 18 Μάιος 2011, 09:20

medigeek έγραψε:Απορίες δεκτές.


Λοιπόν, ψάχνω αλλά δεν μπορώ να βρω.
Έχω πχ ένα πρόγραμμα σε C:
Κώδικας: Επιλογή όλων
main()
{
printf("Hello World!\n");
}


δίνω στον μεταγλωττιστή:
Κώδικας: Επιλογή όλων
gcc hello.c -o hello

Και μου βγάζει κατευθείαν το εκτελέσιμο αρχείο.
Η Python μπορεί να παράγει μόνη της ένα εκτελέσιμο(Όχι τα .pyc) ;
Αυτό γίνετε μόνο με κάποιο πρόγραμμα όπως το py2exe ;
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

Δημοσίευσηαπό medigeek » 18 Μάιος 2011, 11:00

Qdata έγραψε:
Η Python μπορεί να παράγει μόνη της ένα εκτελέσιμο(Όχι τα .pyc) ;
Αυτό γίνετε μόνο με κάποιο πρόγραμμα όπως το py2exe ;

Νομιζω πως μόνο με py2exe ή pyinstaller ή gui2exe ή cx-freeze μπορείς να κάνεις standalone executables που να περιέχουν όλες τις python εξαρτήσεις/libraries.
Επίσης νομίζω πως για όλα χρειάζεσαι να δημιουργήσεις ένα setup.py script για εγκατασταση python πακέτων.
Κύπριος; Κόπιασε στο 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

Δημοσίευσηαπό Qdata » 18 Μάιος 2011, 13:17

medigeek έγραψε:
Qdata έγραψε:
Η Python μπορεί να παράγει μόνη της ένα εκτελέσιμο(Όχι τα .pyc) ;
Αυτό γίνετε μόνο με κάποιο πρόγραμμα όπως το py2exe ;

Νομιζω πως μόνο με py2exe ή pyinstaller ή gui2exe ή cx-freeze μπορείς να κάνεις standalone executables που να περιέχουν όλες τις python εξαρτήσεις/libraries.
Επίσης νομίζω πως για όλα χρειάζεσαι να δημιουργήσεις ένα setup.py script για εγκατασταση python πακέτων.


Δηλαδή στην ουσία δημιουργούμε ένα εκτελέσιμο αρχείο που περιέχει τον compiler της python;
Ας το πάρουμε από την αρχή:
Κατεβάζω το py2exe.
Ακολουθώ τον οδηγό του σίτε...δηλαδή:
έχω το πρόγραμμα:
Κώδικας: Επιλογή όλων
print("Hello World!")

το setup.py μου είναι το:
Κώδικας: Επιλογή όλων
from distutils.core import setup
import py2exe

setup(console=['hello.py'])


και εκτελώ:
Κώδικας: Επιλογή όλων
python setup.py py2exe


για να δημιουργήσει το εκτελέσιμο hello.exe
Η python πως θα αναγνωρίσει το άρθρωμα py2exe;
Πως θα εγκαταστήσω το py2exe;
Σε ποιο κατάλογο και ποια αρχεία θα βάλω σε εκείνο τον κατάλογο;
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

Δημοσίευσηαπό medigeek » 18 Μάιος 2011, 15:44

Qdata έγραψε:
Η python πως θα αναγνωρίσει το άρθρωμα py2exe;

Δεν έχω ιδέα, υποθέτω λειτουργεί σαν "plugin" του distutils. Εξού και το "python setup.py py2exe" (το py2exe εδώ είναι εντολή/argument του setup.py)

Qdata έγραψε:Πως θα εγκαταστήσω το py2exe;

Για windows δεν δοκίμασα ποτέ κάτι τέτοιο.
Απ'ό,τι κατάλαβα, το py2exe λειτουργεί μόνο σε windows: http://www.python-forum.org/pythonforum ... =3&p=91818

Για linux standalone, δοκίμασε το cx freeze. Να σημειώσω ότι το cx freeze δε δημιουργεί ένα .exe στο linux, αλλά συλλέγει τα αναγκαία αρχεία σε ένα φάκελο. Μετά ο χρήστης μπορεί εύκολα να κάνει ένα .tar.gz. :)
Η έκδοση του cx-freeze στα αποθετήρια δε δουλεύει. Κατέβασε την καινούργια έκδοση από την ιστοσελίδα http://cx-freeze.sourceforge.net/ (Source code only). Η εγκατάσταση είναι εύκολη:
Κώδικας: Επιλογή όλων
sudo python setup.py install

Η απεγκατάσταση δεν είναι τόσο εύκολη όμως, εννοώ πρέπει να διαγράψεις τα αρχεία μόνος σου :)
Τελευταία επεξεργασία από medigeek και 18 Μάιος 2011, 15:57, έχει επεξεργασθεί 1 φορά/ες συνολικά
Κύπριος; Κόπιασε στο 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

Δημοσίευσηαπό Qdata » 18 Μάιος 2011, 15:47

:problem: Και στα Windows που δοκίμασα δεν κατάφερα να το κάνω.Πχ με το freeze θα μπορεί ένα πρόγραμμά μου να τρέξει σε κάποιον που δεν έχει εγκατεστημένη την Python;Αν ναι για να το εγκαταστήσω κατεβάζω το "CentOS 5 i386 RPM";
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

Δημοσίευσηαπό medigeek » 18 Μάιος 2011, 16:00

Qdata έγραψε:Αν ναι για να το εγκαταστήσω κατεβάζω το "CentOS 5 i386 RPM";

Μόλις έκανα edit το προηγούμενο μου ποστ :P
Νομίζω ότι μπορείς να φτιάξεις και deb πακέτο με το checkinstall και να έχεις τα αρχεία του cx freeze σε ένα πακέτο:
Κώδικας: Επιλογή όλων
sudo checkinstall python setup.py install
Κύπριος; Κόπιασε στο 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

Δημοσίευσηαπό Qdata » 18 Μάιος 2011, 16:03

Ok, Ευχαριστώ.Θα το δοκιμάσω! :)
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

Δημοσίευσηαπό medigeek » 18 Μάιος 2011, 16:08

Qdata έγραψε:Πχ με το freeze θα μπορεί ένα πρόγραμμά μου να τρέξει σε κάποιον που δεν έχει εγκατεστημένη την Python;

Υποθέτω πως ναι, τουλάχιστο βλέπω κάποια αρχεία τέτοια:

Κώδικας: Επιλογή όλων
$ cat setup_exe.py
from cx_Freeze import setup,Executable

includefiles = ['forum_signature.glade']
includes = []
excludes = []
packages = []

setup(
name = "forum-signature",
version = "1.0",
description = "Ubuntu-gr forum signature",
author = 'Savvas Radevic',
author_email = 'mail@example.com',
options = { 'build_exe': {
'excludes': excludes,
'packages': packages,
'include_files': includefiles,
}},
executables = [Executable(
script='forum_signature.py',
targetName = 'forum-signature.exe',
compress = True,
copyDependentFiles = True,
appendScriptToExe = True,
appendScriptToLibrary = True,
)]
)


Κώδικας: Επιλογή όλων
python setup_exe.py build


Κώδικας: Επιλογή όλων
$ ls -R build/
build/:
bdist.linux-x86_64 exe.linux-x86_64-2.7

build/bdist.linux-x86_64:

build/exe.linux-x86_64-2.7:
atk.so _codecs_hk.so _codecs_tw.so forum_signature.glade glib._glib.so libpython2.7.so.1.0 pango.so
bz2.so _codecs_iso2022.so datetime.so forum-signature.zip gobject._gobject.so library.zip pyexpat.so
cairo._cairo.so _codecs_jp.so forum_signature gio._gio.so gtk._gtk.so _multibytecodec.so readline.so
_codecs_cn.so _codecs_kr.so forum-signature.exe gio.unix.so _heapq.so pangocairo.so


Κώδικας: Επιλογή όλων
cd build/exe.linux-x86_64-2.7/
./forum-signature.exe



(Το forum-signature.exe που έφτιαξα στο linux δε δουλεύει σε windows)
Κύπριος; Κόπιασε στο 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
Εκτύπωση

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

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

cron