Δημοσιεύτηκε: 06 Ιουν 2009, 13:28
από Dimitris
Καταρχήν μια συμβουλή. Στο /usr/... δε συνηθίζεται να βάζουμε δικά μας προγράμματα. Τόσο από θέμα ασφαλείας όσο και επειδή δεν είμαστε πάντοτε διαχειριστές σε ένα σύστημα. Είναι προτιμότερο να δημιουργήσεις ένα φάκελο bin στο home σου και να θέσεις το φάκελο αυτό, δηλαδή ~/bin στο PATH σου. Η μεταβλητή περιβάλλοντος PATH είναι οι διαδρομές που ψάχνει το συστημά σου για εκτελέσιμα και μπορείς να την ορισείς στο ~/.bashrc αρχείο. Για παράδειγμα σε μένα είναι:
export PATH=$PATH:$HOME/bin
που σημαίνει το PATH είναι ότι και πριν (απο default δηλαδη) και μετά ψάξε στο $HOME/bin.

Tώρα στο λάθος σου. Όταν εκτελείς το python helloworld.py του λες να το τρέξει με python. Aντιθετα οταν το τρέχεις ως εκτελέσιμο το νομίζει ως shell script. Kι αυτό γιατι η πρώτη γραμμή δεν είναι η
#!/usr/bin/python
αλλά η
# -*- coding: utf-8 -*-
Το encoding μπορεί να μπει και αργότερα. Το #!/usr/bin/python όμως πρέπει να είναι πρώτο. Παρατήρησε ότι το σφάλμα επιστρεφέται από το shell και όχι από την python. (Kάνε μερικά λάθος python και shell scripts για να δεις τη διαφορά)