Ich habe jetzt auf meinem Laptop (Debian Lenny) Python 2.6.4 installiert, vorher war Python 2.5 installiert (ist es auch immer noch)
Installiert habe ich Py 2.6 so:
1. Downloaden
2. Entpacken
3. ,/configure
4. make -f Makefile
5. sudo make install
Wenn ich jetzt ein Skript mit python test.py starte wird Python 2.6 verwendet, wenn ich es mit ./test.py starte und im Shebang #!usr/bin/python steht wird Python 2.5 verwendet, wenn ich aber im Shebang #!/usr/bin/env python schreibe wird Python 2.6 verwendet, wie kann ich jetzt Python 2.6 auf #!/usr/bin/python legen?
which python sagt mir es ist auf /usr/local/bin/python
Debian Lenny, Python 2.6 und Python 2.5
the more they change the more they stay the same
Ich denke, du willst nicht dein System-Python ersetzen. Kannst du ausschließen, dass du irgendwelche schlecht programmierte Python-Software hast, die nicht mehr funktioniert, wenn sie 2.6 statt 2.5 findet?
Das #!/usr/bin/python ist IMHO schlechter Stil. Benutze lieber den Umweg über /usr/bin/env oder aber benutze zumindest /usr/bin/python2.6 und linke dann (als root) /usr/local/bin/python2.6 nach /usr/bin.
Stefan
Das #!/usr/bin/python ist IMHO schlechter Stil. Benutze lieber den Umweg über /usr/bin/env oder aber benutze zumindest /usr/bin/python2.6 und linke dann (als root) /usr/local/bin/python2.6 nach /usr/bin.
Stefan
wenn Debian kein Python benutzt, dann kann ich es ausschließen (fast noch nichts installiert)
Mit ln?Das #!/usr/bin/python ist IMHO schlechter Stil. Benutze lieber den Umweg über /usr/bin/env oder aber benutze zumindest /usr/bin/python2.6 und linke dann (als root) /usr/local/bin/python2.6 nach /usr/bin.
the more they change the more they stay the same
Die Verknüpfung funktioniert, danke
the more they change the more they stay the same
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich baue mir unter Debian lieber Backports statt mein System mit irgendwelchen per ``make install`` gebastelten Installationen zu verschmutzen...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
So viel Ahnung habe ich unter Linux noch nicht
the more they change the more they stay the same
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Gerade das ist dann eben einfacher, weil die Debian-Buildskripte sagen welche Pakete nötig sind um das Paket komplett zu bauen. Mir ists schon oft passiert dass ich Python-Installationen ohne readline oder *dbm hatte oder irgendwas anderes gefehlt hat, weil es zum Kompilationszeitpunkt nicht auf dem System installiert war.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Mann, wieso benutzt ihr nicht mal die Suchfunktion? Die Frage kam im Dezember mehrere male, und jedesmal wurde aufgezeigt, dass es neben dem Selbercompilieren noch bessere Moeglichkeiten gibt... Die Python2.6-Pakete aus Unstable z.B. sollten sich in Lenny auch problemlos installieren lassen.
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
@David,
das gleiche Problem hab ich auch gehabt zu Anfang.
1)
Du must (ich habe es so gemacht) in die Shebeen-Zeile schreiben.
#!/usr/bin/python2.6
Genau so und nicht anderes.
Ich rede von dem Pythonscript.
Danach-wenn der Interpreter alles gefressen hat- muss man das script mit chmod 0775
ausfürbar machen und dann mit ./datei.py starten.
2)
Dann -Rebecca hat Recht-
man sollte immer über den Paketmanager (Synaptic oder apt-get bei Ubuntu) seine pakete holen.
Die Pakete sind irgendwie schon "vorbehandelt" das ganze Konfigurieren entfällt.
Man muß natürlich DSL haben. Mit den alten Buschtrommeln - Modems mit 56 k- dauert es halt lang.
Man muß natürlich den Namen des Paketes kennen und da gibts schon mal verdrehte namen.
Es kommt auch vor, das die Spiegelserver bestimmte Pakete nicht archiviert haben.
Dann muß man es halt "zu Fuß" configurieren.
Mir ist es bisher erst 1 mal passiert. meistens werden die fehlenden Pakete oder Libraries beim Interpretieren angemeckert.
Grüße Fritz

das gleiche Problem hab ich auch gehabt zu Anfang.
1)
Du must (ich habe es so gemacht) in die Shebeen-Zeile schreiben.
#!/usr/bin/python2.6
Genau so und nicht anderes.
Ich rede von dem Pythonscript.
Danach-wenn der Interpreter alles gefressen hat- muss man das script mit chmod 0775
ausfürbar machen und dann mit ./datei.py starten.
2)
Dann -Rebecca hat Recht-
man sollte immer über den Paketmanager (Synaptic oder apt-get bei Ubuntu) seine pakete holen.
Die Pakete sind irgendwie schon "vorbehandelt" das ganze Konfigurieren entfällt.
Man muß natürlich DSL haben. Mit den alten Buschtrommeln - Modems mit 56 k- dauert es halt lang.
Man muß natürlich den Namen des Paketes kennen und da gibts schon mal verdrehte namen.
Es kommt auch vor, das die Spiegelserver bestimmte Pakete nicht archiviert haben.
Dann muß man es halt "zu Fuß" configurieren.
Mir ist es bisher erst 1 mal passiert. meistens werden die fehlenden Pakete oder Libraries beim Interpretieren angemeckert.
Grüße Fritz

zu 1, das ging ja nicht, deswegen hab ich die Verlinkung gemacht -> ln -s
zu 2, ich habe mit apt-cache nach python gesucht, gefunden habe ich pytho2.4, python2.5 und nur python mehr nicht, und bevor die Default-Version 2.5 ist hab ichs lieber direkt runtergeladen und dann auch mal selber was kompiliert (hab ich doch, oder?)
zu 2, ich habe mit apt-cache nach python gesucht, gefunden habe ich pytho2.4, python2.5 und nur python
Code: Alles auswählen
python - An interactive high-level object-oriented language (default version)
the more they change the more they stay the same
-
- User
- Beiträge: 79
- Registriert: Montag 12. Oktober 2009, 11:50
Schau dir mal die Readme im Archiv an, es gibt die Moeglichkeit "altinstall".
@David
ich befürchte, Du mußt Deine Python-Pakete neu installieren.
1. In UNIX:
whereis python
gibt alle Pfade zurück, wo Python steht.
2.
In Ubuntu gibt es die Möglichkeit python2.6 nachzuinstallieren.
Wenn Dein System nicht zerschossen ist (hoffentlich nicht)
Wird python2.6 sauber configuriert.
Dann steht in:
/usr/bin/python2.6
/usr/local/bin/python2.6
und die Bibliotheken stehen in
/usr/lib/
in /usr/include/ stehen die Dokumente zu 2.6
Gib in der Python-zeile ein:
import sys
print sys.path
Dann muß python2.6 irgendwo auftauchen.
Die scriptfiles müssen dann in der shebeen Zeile auch Python2.6 aufrufen.
Schluß, Fertig gute Nacht.
Grüße Fritz

ich befürchte, Du mußt Deine Python-Pakete neu installieren.
1. In UNIX:
whereis python
gibt alle Pfade zurück, wo Python steht.
2.
In Ubuntu gibt es die Möglichkeit python2.6 nachzuinstallieren.
Wenn Dein System nicht zerschossen ist (hoffentlich nicht)
Wird python2.6 sauber configuriert.
Dann steht in:
/usr/bin/python2.6
/usr/local/bin/python2.6
und die Bibliotheken stehen in
/usr/lib/
in /usr/include/ stehen die Dokumente zu 2.6
Gib in der Python-zeile ein:
import sys
print sys.path
Dann muß python2.6 irgendwo auftauchen.
Die scriptfiles müssen dann in der shebeen Zeile auch Python2.6 aufrufen.
Schluß, Fertig gute Nacht.
Grüße Fritz


- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Ich habe mich oben vertan, es ist nicht Unstable sondern Experimental, welches die Python 2.6-Pakete hat. Ich hole mir die Pakete von dort immer manuell, so bin ich sicher dass ich nicht noch ausversehen andere Dependencies aus Experimental mit reinziehe, und da ich die deb-Dateien schoen aufhebe, kann ich auch immer nachsehen, welche Pakete ich nicht aus dem offiziellen Repo meines Releases habe. Also libpython2.6, python2.6-minimal und python2.6 runterladen und mit dpkg -i bla.deb installieren. (Genau genommen hab ich mir ein eigenes Repo auf der Platte eingerichtet, aber das fuehrt hier ein wenig zu weit
)

Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
@gabelmensch, danke, allerdings wollte ich ja 2.6 als MainInstallation haben und nicht Python 2.5
Wieso muss ich meine Pythonpakete neu installieren?
das mit whereis wusste ich, tut doch aber nichts zur Sache, oder?
was hat import sys#; print sys.path für einen Sinn, dann ist ja Python 2.6 schon gestartet
Ich hab die stable
, wenn ich die experimental hätte könnte ich Python2.6 per apt-get installieren?
Wieso muss ich meine Pythonpakete neu installieren?
das mit whereis wusste ich, tut doch aber nichts zur Sache, oder?
was hat import sys#; print sys.path für einen Sinn, dann ist ja Python 2.6 schon gestartet
Ich hab die stable

the more they change the more they stay the same
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wie Rebecca sagte, kannst du angeblich die Expreimental-Pakete in Stable direkt instalieren.
Ich mache das aber so, dass ich mir die Pakete lokal als Backports baue und installiere.
Ich mache das aber so, dass ich mir die Pakete lokal als Backports baue und installiere.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Das ist, wie schon gesagt wurde, keine gute Idee, da zu viele grundlegende Debian-Pakete von 2.5 abhaengen, und du nicht vorhersagen kannst, was ein Umstieg auf 2.6 an deinem System alles kaputtmachen kann. Wo ist auch das Problem, bei deinen Programmen, die Python 2.6 brauchen, dies explizit anzugeben?Dav1d hat geschrieben:@gabelmensch, danke, allerdings wollte ich ja 2.6 als MainInstallation
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
shebeen ist ein keltisches Wort und wird in irland benutzt für schwarzgebrannten Schnaps.
Bleib Du bei shebang ich bleib bei shebeen.
Es ist immer die 1. Zeile in einem Unix-Scriptfile und bei Python muß es so lauten:
#!/usr/bin/python2.6 oder andere Versionen.
Bei mir funltioniert es so nicht
#!/usr/bin/env python
dann kommt die Fehlermeldung: Bad Intetpreter.
Vielleicht ist mein env nicht vollständig.
Da wir hier nicht bei desperate housewifes sind, wollen wir es dabei belassen.
Grüße Fritz

Bleib Du bei shebang ich bleib bei shebeen.
Es ist immer die 1. Zeile in einem Unix-Scriptfile und bei Python muß es so lauten:
#!/usr/bin/python2.6 oder andere Versionen.
Bei mir funltioniert es so nicht
#!/usr/bin/env python
dann kommt die Fehlermeldung: Bad Intetpreter.
Vielleicht ist mein env nicht vollständig.
Da wir hier nicht bei desperate housewifes sind, wollen wir es dabei belassen.
Grüße Fritz


bei mir hat #!/usr/bin/env python funktioniert und #!/usr/bin/python2.6 läuft jetzt auch, dank dem Link auf /usr/local/bin/python
the more they change the more they stay the same