Python Aufruf

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
blurry333
User
Beiträge: 12
Registriert: Montag 10. November 2014, 20:34

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
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@blurry333: erstens sollte auf dem Desktop kein executable liegen und zweitens scheint die Binärdatei nicht für Dein System compiliert zu sein.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

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.
a fool with a tool is still a fool, www.magben.de, YouTube
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Das war natürlich Mist, Du hast ja Unix. Welches denn? Mit Ubuntu ist es auch sehr simpel sich eine funktionierende Python Version zusammenzuklicken.
a fool with a tool is still a fool, www.magben.de, YouTube
blurry333
User
Beiträge: 12
Registriert: Montag 10. November 2014, 20:34

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.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

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.
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Eine andere Python-Distribution die auch in Linux Farbe kommt ist "Anaconda"

http://continuum.io/downloads#34
Atomkraftwerkaktienbesitzer
blurry333
User
Beiträge: 12
Registriert: Montag 10. November 2014, 20:34

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
blurry333
User
Beiträge: 12
Registriert: Montag 10. November 2014, 20:34

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.
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

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?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten