Seite 1 von 1

Python Aufruf

Verfasst: Freitag 14. November 2014, 03:04
von blurry333
Hallo,

ich moechte ein Python Script aufrufen .

Auf meinem Desktop liegt die executable Python2.7 und der Ordner lib und noch die file.py die ich ausfuehren moechte.

Wenn ich jetzt folgendes auf der Console mache kommt cannot execute binary file

/home/Desktop/Python2.7 /home/Desktop/file.py

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 07:56
von Sirius3
@blurry333: erstens sollte auf dem Desktop kein executable liegen und zweitens scheint die Binärdatei nicht für Dein System compiliert zu sein.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 09:36
von MagBen
Python kannst Du in der Regel nicht einfach durch das Kopieren von einzelnen Dateien installieren. Wenn Du aber nicht die Möglichkeit hast ein richtiges Setup auszuführen, dann schau Dir mal WinPython an:
http://winpython.sourceforge.net
Das ist eine Python-Distribution, die Du noch nicht einmal auf Deinen Rechner kopieren musst, um mit Python arbeiten zu können. Es reicht, wenn Du ein ausgepacktes WinPython Verzeichnis auf einem USB-Stick hast.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 09:45
von MagBen
Das war natürlich Mist, Du hast ja Unix. Welches denn? Mit Ubuntu ist es auch sehr simpel sich eine funktionierende Python Version zusammenzuklicken.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 13:42
von blurry333
ja keine Ahnung ich dachte die executable und der lib folder reichen. Scheinbar aber nicht. Ähm und ja ich bin auf einem Linux Server. Hab das Zeug per ssh rüberkopiert.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 16:04
von Hellstorm
Kannst du dort kompilieren? Dann kompilier das dort selber.
Ich würde mich aber wundern, wenn dort Python nicht schon vorher installiert ist?!?

Oder guck mal, welches System dort installiert ist (CentOS, Debian, wasweißich), installier dir das gleiche zuhause in einer VM und kompilier Python dann dort selber, mit einem Präfix für deinen home-Ordner, so wie er auf dem SSH-Server ist. Dann müsstest du nur genau den Ordner herüberkopieren und es könnte dann laufen.

Ich glaube, das Problem ist, dass bei der Kompilation eben der Pfad eingespeichert wird. Und dann kann man das nicht einfach verschieben.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 17:22
von Ene Uran
Eine andere Python-Distribution die auch in Linux Farbe kommt ist "Anaconda"

http://continuum.io/downloads#34

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 18:59
von blurry333
klar ich hab das Python Zeug von meinem Mac auf meinen Linux Server kopiert und dachte es läuft weil es doch der selbe Kernel ist, aber da hab ich mich wohl getäuscht

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 19:04
von cofi
Weder benutzt Mac einen Linux Kernel noch haben Linux Distributionen einen Mach Kernel - darum heissen sie ja Linux.

Und selbst wenn der Kernel derselbe waere benutzen die beiden Systeme unterschiedliche Executable Formate.

Selbst ein Linux-Executable laesst sich nicht problemlos von einem System zum anderen kopieren: Benutze einfach die Paketverwaltung deines Systems um Python zu installieren. Aber bei den meisten Distributionen ist es schon installiert.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 19:50
von blurry333
Aber die Console ist ja ziemlich gleich was Mac und Linux betrifft. Aber zum Teil benutzt doch Mac einen Linux Kernel oder lieg ich da jetzt total falsch.

Re: Python Aufruf

Verfasst: Freitag 14. November 2014, 19:58
von Hellstorm
Mac OS X basiert auf FreeBSD. Das ist kein Linux. Was gleich ist, ist dass es beides ein Unix ist. Das heißt, dass es große Ähnlichkeiten im System selber gibt (Als Beispiel: Beides Mal hast du Ordnerangaben mit /blabla/blabla anstatt wie bei Windows C:\blabla\blabla), aber es ist eben nicht gleich. Manche Programme können daher (wenn ich mich nicht irre) auf beiden Systemen ohne Umwandlung laufen, aber ich glaube im Normalfall geht das nicht.

Und die Konsole ist nicht das Betriebssystem. Die ist tatsächlich in deinem Fall gleich (beides mal die Bash), aber das sagt nichts aus. Der ganze Unterbau ist anders. Windows 8 ist ja auch kein DOS, nur weil man mit cmd.exe etwas hat, was wie DOS aussieht.

Das große Problem in deinem Fall wird wahrscheinlich folgendes sein:
a) Dein Python ist für deinen Mac kompiliert und basiert auf den beim Mac verfügbaren Bibliotheken. Die gibt es dann bei Linux nicht. Wahrscheinlich wird es auch noch andere Probleme geben.
b) Die Pfadangaben sind unter deinem Mac ganz anders, und man kann leider nicht wie unter Windows einfach den Ordner kopieren.


Deswegen würde ich dir raten:
Wenn du auf dem Hoster nicht selber kompilieren kannst (aber ich denke, das sollte eigentlich gehen, wenn du da schon per SSH drauf zugreifen kannst?!?), dann schau dir an, welcher Linux-Rechner auf dem Hoster läuft, erstell dir auf deinem eigenen PC eine virtuelle Maschine mit dem gleichen Linux-System und kompilier dann Python manuell eben genau für den Ordner (also bei dir /home/Desktop/).

Oder hab ich dich missverstanden und das ist dein eigener Server, den du selber vollständig administrierst? Dann installier Python einfach aus den Paketquellen. Einfacher und sicherer geht es nicht. Musst dir natürlich mal anschauen, wie man unter Linux Pakete installiert (ich weiß jetzt ja nicht, welche Distribution du nutzt).


Edit: Sorry, Mac OS X basiert ja doch nicht vollständig auf FreeBSD. Wo hab ich das denn mal gehört?

Re: Python Aufruf

Verfasst: Donnerstag 20. November 2014, 09:11
von Leonidas
Hellstorm hat geschrieben:Edit: Sorry, Mac OS X basiert ja doch nicht vollständig auf FreeBSD. Wo hab ich das denn mal gehört?
Der Superserver den OS X nutzt wo die ganzen Treiber und sowas drin stecken basiert auch FreeBSD-Code, ebenso wie das OS X Userland oder zumindest das was den GNU coreutils entsprechen würde.