Re: [Python-de] Umstellen von Python2.6 auf 2.7 unter MacOS - setuptools installieren geht auch nicht
Hi, sry wenn ich gerade mal rücksichtslos Mails poste, aber ich komme echt nicht weiter :( Nachdem aus unerfindlichen Gründen beim Python2.7-Install kein setuptools mit installiert werden konnte (man erinnert sich an die traurige Begebenheit), hab ich's nun separat versucht: http://pypi.python.org/pypi/setuptools/#cygwin-mac-os-x-linux-other sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung: *setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found* Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Umnennen des Files nach setuptools-0.6c11-py2.7.3.egg (blöder Trick) hat leider nix gebracht, es wollte zurück benannt werden. Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was? Danke, Suesssauer Am 11. Juli 2012 19:06 schrieb Suesssauer <yh.wang.de@googlemail.com>:
Hallo Python-Freunde,
Am 09.07.12 23:04, schrieb Sebastian Wiesner:
Am 9. Juli 2012 21:44 schrieb Suesssauer <yh.wang.de@googlemail.com>:
Hallo, ich muss mein Python von 2.6 auf 2.7 umstellen (dringend!) aus verschiedenen Gründen (benötigte Software braucht 2.7).
... ... Noch besser ist es, mit pythonbrew [1] Python 2.7 ins Home-Verzeichnis zu installieren. Damit ersparst Du Dir Eingriffe ins System, und kannst noch dazu beliebig viele Python-Versionen nebeneinander installieren.
[1]: https://github.com/utahta/pythonbrew/
Sebastian Wiesner
1) OK, von deinen vorgeschlagenen Varianten hatte ich diese mit pythonbrew ausprobiert. Python 2.7.3 ist wohl erfolgreich installiert:
Installed Python-2.7.3 successfully. Run the following command to switch to Python-2.7.3. pythonbrew switch 2.7.3
Allerdings gab es Fehlermeldungen:
ERROR: Failed to install setuptools. See /Users/xxx/.pythonbrew/build.log to see why. Skip installation of setuptools.
Das hilft leider nicht viel, denn die Datei gibt es nicht: $ cat .pythonbrew/build.log cat: .pythonbrew/build.log: No such file or directory
2) "pip" scheint lt. Google dem easy_install vorzuziehen zu sein. Mit dem pythonbrew wird ja außer Python nichts weiter installiert. Hab dann versucht, pip zu installieren (s. http://www.pip-installer.org/en/latest/installing.html ), mit dem Resultat:
$ curl -O http://pypi.python.org/packages/source/p/pip/pip-1.0.tar.gz $ tar xvfz pip-1.0.tar.gz $ cd pip-1.0 $ python setup.py install # may need to be root
Traceback (most recent call last): File "setup.py", line 3, in <module> from setuptools import setup ImportError: No module named setuptools
Das wundert uns ja nicht, s. Punkt 1). Ich vermute, dass ich dann auch nix anderes installieren kann, also kein django, South, etc.
3) Noch was: Das mit dem virtualenv: ich seh schon, dass es praktisch ist, zB. ein Projekt mit django 1.3 und python 2.7 und South isoliert gestartet zu bekommen. Aber dafür muss ich diese Packages auf jeden Fall schon mal "in echt" installiert haben, oder nicht? D.h. , erst müssen Schritte 1) und 2) klappen, und dann gehts weiter mit 3) ?
Danke...
suesssauer
Ich denke du machst das alles zu kompliziert. Ein simples Python2.7 von python.org stellt keinen "Eingriff in's System dar", sondern installiert Python2.7 unter /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 Dann lädst du dir ez_setup.py runter: http://peak.telecommunity.com/dist/ez_setup.py Und führst das aus: /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 <voller-pfad-zu-ez_setup.py> Danach hast du /Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install zur Verfügung, und kannst damit zB virtualenv (wirklich nützlich) und pip installieren. MfG Diez On Jul 11, 2012, at 10:08 PM, Yu-Fang Helena Wang wrote:
Hi, sry wenn ich gerade mal rücksichtslos Mails poste, aber ich komme echt nicht weiter :( Nachdem aus unerfindlichen Gründen beim Python2.7-Install kein setuptools mit installiert werden konnte (man erinnert sich an die traurige Begebenheit), hab ich's nun separat versucht: http://pypi.python.org/pypi/setuptools/#cygwin-mac-os-x-linux-other
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found*
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Umnennen des Files nach setuptools-0.6c11-py2.7.3.egg (blöder Trick) hat leider nix gebracht, es wollte zurück benannt werden.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
Danke, Suesssauer
Am 11. Juli 2012 19:06 schrieb Suesssauer <yh.wang.de@googlemail.com>: Hallo Python-Freunde,
Am 09.07.12 23:04, schrieb Sebastian Wiesner:
Am 9. Juli 2012 21:44 schrieb Suesssauer <yh.wang.de@googlemail.com>:
Hallo, ich muss mein Python von 2.6 auf 2.7 umstellen (dringend!) aus verschiedenen Gründen (benötigte Software braucht 2.7).
... ... Noch besser ist es, mit pythonbrew [1] Python 2.7 ins Home-Verzeichnis zu installieren. Damit ersparst Du Dir Eingriffe ins System, und kannst noch dazu beliebig viele Python-Versionen nebeneinander installieren.
[1]: https://github.com/utahta/pythonbrew/
Sebastian Wiesner
1) OK, von deinen vorgeschlagenen Varianten hatte ich diese mit pythonbrew ausprobiert. Python 2.7.3 ist wohl erfolgreich installiert:
Installed Python-2.7.3 successfully. Run the following command to switch to Python-2.7.3. pythonbrew switch 2.7.3
Allerdings gab es Fehlermeldungen:
ERROR: Failed to install setuptools. See /Users/xxx/.pythonbrew/build.log to see why. Skip installation of setuptools.
Das hilft leider nicht viel, denn die Datei gibt es nicht: $ cat .pythonbrew/build.log cat: .pythonbrew/build.log: No such file or directory
2) "pip" scheint lt. Google dem easy_install vorzuziehen zu sein. Mit dem pythonbrew wird ja außer Python nichts weiter installiert. Hab dann versucht, pip zu installieren (s. http://www.pip-installer.org/en/latest/installing.html ), mit dem Resultat:
$ curl -O http://pypi.python.org/packages/source/p/pip/pip-1.0.tar.gz $ tar xvfz pip-1.0.tar.gz $ cd pip-1.0 $ python setup.py install # may need to be root
Traceback (most recent call last): File "setup.py", line 3, in <module> from setuptools import setup ImportError: No module named setuptools
Das wundert uns ja nicht, s. Punkt 1). Ich vermute, dass ich dann auch nix anderes installieren kann, also kein django, South, etc.
3) Noch was: Das mit dem virtualenv: ich seh schon, dass es praktisch ist, zB. ein Projekt mit django 1.3 und python 2.7 und South isoliert gestartet zu bekommen. Aber dafür muss ich diese Packages auf jeden Fall schon mal "in echt" installiert haben, oder nicht? D.h. , erst müssen Schritte 1) und 2) klappen, und dann gehts weiter mit 3) ?
Danke...
suesssauer
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
Hallo Diez, OK, das hat funktioniert :) Das wäre von allen Vorschlägen der am wenigsten aufwendige gewesen. Ohne Fehlermeldungen und ganz ohne Gebräu. Einfach so. Danke!! Das einzige, was nicht tat, war dass das easy_install sich in das falsche Verzeichnis installiert: Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg Processing setuptools-0.6c11-py2.7.egg Copying setuptools-0.6c11-py2.7.egg to /Library/Python/2.7/site-packages Adding setuptools 0.6c11 to easy-install.pth file *Installing easy_install script to /Users/ss/bin Installing easy_install-2.7 script to /Users/ss/bin* Da dies das falsche Verzeichnis ist, es soll ja unter einen Python2.7-spezifischen und Tricks auch nicht geholfen haben (steht wohl irgendwie im Skript vergraben), hab ich manuell die beiden fett gedruckten Files oben, also die easy_install Files, hier rein kopiert: /Library/Frameworks/Python.framework/Versions/2.7/bin. Das hat funktioniert, jedenfalls kann ich easy_install-2.7 aufrufen und Zeugs installieren. 1) Gibt das irgendwelche Nachteile durch das händische Kopieren?? 2) Was ist der Unterschied zw. easy_install und easy_install-2.7? Vielen Dank nochmal, Suesssauer Am 12.07.12 13:30, schrieb Diez B. Roggisch:
Ich denke du machst das alles zu kompliziert. Ein simples Python2.7 von python.org <http://python.org> stellt keinen "Eingriff in's System dar", sondern installiert Python2.7 unter
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Dann lädst du dir ez_setup.py runter:
http://peak.telecommunity.com/dist/ez_setup.py
Und führst das aus:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 <voller-pfad-zu-ez_setup.py>
Danach hast du
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
zur Verfügung, und kannst damit zB virtualenv (wirklich nützlich) und pip installieren.
MfG Diez
On Jul 11, 2012, at 10:08 PM, Yu-Fang Helena Wang wrote:
Hi, sry wenn ich gerade mal rücksichtslos Mails poste, aber ich komme echt nicht weiter :( Nachdem aus unerfindlichen Gründen beim Python2.7-Install kein setuptools mit installiert werden konnte (man erinnert sich an die traurige Begebenheit), hab ich's nun separat versucht: http://pypi.python.org/pypi/setuptools/#cygwin-mac-os-x-linux-other
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found*
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Umnennen des Files nach setuptools-0.6c11-py2.7.3.egg (blöder Trick) hat leider nix gebracht, es wollte zurück benannt werden.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
Danke, Suesssauer
Am 11. Juli 2012 19:06 schrieb Suesssauer <yh.wang.de@googlemail.com <mailto:yh.wang.de@googlemail.com>>:
Hallo Python-Freunde,
Am 09.07.12 23:04, schrieb Sebastian Wiesner: > Am 9. Juli 2012 21:44 schrieb Suesssauer <yh.wang.de@googlemail.com <mailto:yh.wang.de@googlemail.com>>: >> Hallo, ich muss mein Python von 2.6 auf 2.7 umstellen (dringend!) aus verschiedenen Gründen (benötigte Software braucht 2.7). >> >> ... > ... > Noch besser ist es, mit pythonbrew [1] Python 2.7 ins Home-Verzeichnis > zu installieren. Damit ersparst Du Dir Eingriffe ins System, und > kannst noch dazu beliebig viele Python-Versionen nebeneinander > installieren. > > [1]: https://github.com/utahta/pythonbrew/ > > Sebastian Wiesner
1) OK, von deinen vorgeschlagenen Varianten hatte ich diese mit pythonbrew ausprobiert. Python 2.7.3 ist wohl erfolgreich installiert:
Installed Python-2.7.3 successfully. Run the following command to switch to Python-2.7.3. pythonbrew switch 2.7.3
Allerdings gab es Fehlermeldungen:
ERROR: Failed to install setuptools. See /Users/xxx/.pythonbrew/build.log to see why. Skip installation of setuptools.
Das hilft leider nicht viel, denn die Datei gibt es nicht: $ cat .pythonbrew/build.log cat: .pythonbrew/build.log: No such file or directory
2) "pip" scheint lt. Google dem easy_install vorzuziehen zu sein. Mit dem pythonbrew wird ja außer Python nichts weiter installiert. Hab dann versucht, pip zu installieren (s. http://www.pip-installer.org/en/latest/installing.html ), mit dem Resultat:
$ curl -O http://pypi.python.org/packages/source/p/pip/pip-1.0.tar.gz $ tar xvfz pip-1.0.tar.gz $ cd pip-1.0 $ python setup.py install # may need to be root
Traceback (most recent call last): File "setup.py", line 3, in <module> from setuptools import setup ImportError: No module named setuptools
Das wundert uns ja nicht, s. Punkt 1). Ich vermute, dass ich dann auch nix anderes installieren kann, also kein django, South, etc.
3) Noch was: Das mit dem virtualenv: ich seh schon, dass es praktisch ist, zB. ein Projekt mit django 1.3 und python 2.7 und South isoliert gestartet zu bekommen. Aber dafür muss ich diese Packages auf jeden Fall schon mal "in echt" installiert haben, oder nicht? D.h. , erst müssen Schritte 1) und 2) klappen, und dann gehts weiter mit 3) ?
Danke...
suesssauer
_______________________________________________ python-de maillist - python-de@python.org <mailto:python-de@python.org> http://mail.python.org/mailman/listinfo/python-de
OK, das hat funktioniert :) Das wäre von allen Vorschlägen der am wenigsten aufwendige gewesen. Ohne Fehlermeldungen und ganz ohne Gebräu. Einfach so. Danke!!
Das einzige, was nicht tat, war dass das easy_install sich in das falsche Verzeichnis installiert:
Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg Processing setuptools-0.6c11-py2.7.egg Copying setuptools-0.6c11-py2.7.egg to /Library/Python/2.7/site-packages Adding setuptools 0.6c11 to easy-install.pth file Installing easy_install script to /Users/ss/bin Installing easy_install-2.7 script to /Users/ss/bin
Da dies das falsche Verzeichnis ist, es soll ja unter einen Python2.7-spezifischen und Tricks auch nicht geholfen haben (steht wohl irgendwie im Skript vergraben), hab ich manuell die beiden fett gedruckten Files oben, also die easy_install Files, hier rein kopiert:
/Library/Frameworks/Python.framework/Versions/2.7/bin.
Das hat funktioniert, jedenfalls kann ich easy_install-2.7 aufrufen und Zeugs installieren.
1) Gibt das irgendwelche Nachteile durch das händische Kopieren??
Wenn es geht, sollte es eigentlich kein Problem sein. Warum es sich falsch installiert hat kann ich nicht sagen ich vermute, dein System hat da irgendwelche Umgebungen gesetzt, und da denkt es, es soll sich da rein installieren. Aber das ist geraten.
2) Was ist der Unterschied zw. easy_install und easy_install-2.7?
Keiner. Nur wenn du verschiedene Versionen auf deiner Kiste hast wird das relevant. Auch Python gibt's als python, python2.7, python3.2 usw. Welches der verschiedenen Versionen sich konkret hinter "python" dann verbirgt ist von diversen Dingen abhängig. Was du zuletzt installiert hast, oder was das System als Default will, usw.
Vielen Dank nochmal,
Bitte. Warum wolltest du wissen woher ich komme? Diez
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found*
Also ich kenn mich mit Python auf Mac nicht so aus, aber das hoert sich eher so an, als ob das python2.7 Binary nicht im Suchpfad (PATH) ist. Tipp doch mal auf einer Shell "python2.7<enter>" ein.
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert.
Das Binary heisst trotzdem nur "python2.7" (bzw. "python"). .3 ist ja nur ne Bugfix-Release und ansonsten kompatibel.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
virtualenv ist immer nett, um verschiedene Umgebungen separat (auch separat vom System) zu installieren. pip ist auch sehr nuetzlich (bei virtualenv dabei neuerdings iirc).
Hallo Thomas, Vielen Dank für deine Antwort. Am 12.07.12 13:38, schrieb Thomas Waldmann:
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found* Also ich kenn mich mit Python auf Mac nicht so aus, aber das hoert sich eher so an, als ob das python2.7 Binary nicht im Suchpfad (PATH) ist.
Tipp doch mal auf einer Shell "python2.7<enter>" ein.
OK, getippt: $ python2.7 Python 2.7.3 (default, Jul 11 2012, 17:37:48) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Vorher hatte ich mit "pythonbrew switch 2.7.3" auf das neu installierte Python umgeschaltet. Was sollte denn im .bash_profile drinstehen? (Das heißt in MacOS so, unter Linux glaub ich .bashrc) Python war zum Zeitpunkt des Tests in der Tat auf 2.6 gestellt. Das ist der Inhalt von .bash_profile für Python2.7: #!/bin/bash PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH PYTHONPATH = "$/Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload$PYTHONPATH" export PYTHONPATH [[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc" Das gibt folgenden Fehler: $ source .bash_profile -bash: PYTHONPATH: command not found Komischerweise funktioniert die gleiche Syntax für Python2.6. Im Internet wurde folgendes vorgeschlagen, führt aber zu derselben Fehlermeldung: PYTHONPATH = "$ {PYTHONPATH} : /Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload" Was ist denn nun richtig, um den Pfad für Python 2.7 zu setzen?? Danach kann ich hoffentlich endlich mit setuptools weitermachen. PS: meine Güte, geht das langsam...Ich wollte schon letzte Woche Python 2.7 mit Django und South installiert haben. Grüße + danke, Suesssauer
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Binary heisst trotzdem nur "python2.7" (bzw. "python").
.3 ist ja nur ne Bugfix-Release und ansonsten kompatibel.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
virtualenv ist immer nett, um verschiedene Umgebungen separat (auch separat vom System) zu installieren. pip ist auch sehr nuetzlich (bei virtualenv dabei neuerdings iirc).
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
On Don, 2012-07-12 at 18:32 +0200, Yu-Fang Helena Wang wrote:
Hallo Thomas,
Vielen Dank für deine Antwort.
Am 12.07.12 13:38, schrieb Thomas Waldmann:
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found* Also ich kenn mich mit Python auf Mac nicht so aus, aber das hoert sich eher so an, als ob das python2.7 Binary nicht im Suchpfad (PATH) ist.
Tipp doch mal auf einer Shell "python2.7<enter>" ein.
OK, getippt: $ python2.7 Python 2.7.3 (default, Jul 11 2012, 17:37:48) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Vorher hatte ich mit "pythonbrew switch 2.7.3" auf das neu installierte Python umgeschaltet.
Was sollte denn im .bash_profile drinstehen? (Das heißt in MacOS so, unter Linux glaub ich .bashrc) Python war zum Zeitpunkt des Tests in der Tat auf 2.6 gestellt. Das ist der Inhalt von .bash_profile für Python2.7:
#!/bin/bash
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH
PYTHONPATH = "$/Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload$PYTHONPATH" export PYTHONPATH
[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"
Das gibt folgenden Fehler:
$ source .bash_profile -bash: PYTHONPATH: command not found
Komischerweise funktioniert die gleiche Syntax für Python2.6.
Im Internet wurde folgendes vorgeschlagen, führt aber zu derselben Fehlermeldung: PYTHONPATH = "$ {PYTHONPATH} : /Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload"
Was ist denn nun richtig, um den Pfad für Python 2.7 zu setzen?? Danach kann ich hoffentlich endlich mit setuptools weitermachen.
PS: meine Güte, geht das langsam...Ich wollte schon letzte Woche Python 2.7 mit Django und South installiert haben.
Grüße + danke, Suesssauer
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Binary heisst trotzdem nur "python2.7" (bzw. "python").
.3 ist ja nur ne Bugfix-Release und ansonsten kompatibel.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
virtualenv ist immer nett, um verschiedene Umgebungen separat (auch separat vom System) zu installieren. pip ist auch sehr nuetzlich (bei virtualenv dabei neuerdings iirc).
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
Hallo, Hier sind die Probleme mit deinem Shell Script: (gekürzt mit [...]) PYTHONPATH = "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" __________^_^__^____________^_^ Leerzeichen haben in Shell-Skript eine strikte Bedeutung: Sofern sie nicht maskiert sind (") gelten sind IMMER als Parametertrenner. Eine Shell (in diesem Falle bash) interpretiert immer den ersten Ausdruck, der kein ist-gleich (=) enthält, als auszuführenden Befehl. In deinem Beispiel bedeutet, das das "PYTHONPATH" (auf das anschließende Leerzeichen achten!) als Befehl interpretiert wird. Daher auch die entsprechende Fehlermeldung:
-bash: PYTHONPATH: command not found
Wenn wir nun allerdings nun schreiben würden: PYTHONPATH= "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" Wäre dies immer noch nicht korrekt da er nun der Variable $PYTHONPATH den Wert "" zuweist (anschließendes Leerzeichen!) und daher dann den nächsten Parameter mit $PYTHONPATH als Umgebungsvariable ausführt (bedingt durch die Maskierung wäre das: "$ {PYTHONPATH} : /Library/Python/2.7/si[...]", ohne Anführungszeichen und Kürzung) Korrekt (rein Zuweisungstechnisch) wäre daher: PYTHONPATH="$ {PYTHONPATH} : /Library/Python/2.7/si[...]" Nun wird der Shell-Variable $PYTHONPATH der Wert "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" zugewiesen, da keine Parameter ohne ein ist-gleich folgen wird der Wert in einer Shell-internen Liste gespeichert. Das anschließende "export PYTHONPATH" setzt die Variable, dann als Umgebungsvarible für alle folgenden Befehlsaufrufe. Allerdings gibt jetzt immernoch 2 Probleme: 1. Das Leerzeichen in "$ {PYTHONPATH}" Da hier eine Variable (mit dem vorherigen Wert von $PYTHONPATH) eingefügt werden soll muss das Leerzeichen entfernt werden damit die Shell dies erkennt. (Korrekt: "${PYTHONPATH}" oder "$PYTHONPATH") 2. Die Leerzeichen um den ersten Doppelpunkt herum (" : ") Ich weiß jetzt nicht wie Python diese Dinge handhabt aber vermutlich werden Leerzeichen um Dateinamen nicht automatisch gelöscht. Daher wird Python vermutlich nach einem Verzeichnis " /Library/Python/2.7/site-packages" suchen. Da es im aktuellen Verzeichnis vermutlich keinen Ordner Namens " " geben wird (oder jener nicht die entsprechenden Unterordner enthalten wird) wird dies Fehlschlagen. Korrekt wäre daher: PYTHONPATH="${PYTHONPATH}:/Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload" LG ALexander PS: Ich hoffe dies war ein interessanter Exkurs in die Shell-Programmierung
On Don, 2012-07-12 at 18:32 +0200, Yu-Fang Helena Wang wrote:
Hallo Thomas,
Vielen Dank für deine Antwort.
Am 12.07.12 13:38, schrieb Thomas Waldmann:
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found* Also ich kenn mich mit Python auf Mac nicht so aus, aber das hoert sich eher so an, als ob das python2.7 Binary nicht im Suchpfad (PATH) ist.
Tipp doch mal auf einer Shell "python2.7<enter>" ein.
OK, getippt: $ python2.7 Python 2.7.3 (default, Jul 11 2012, 17:37:48) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Vorher hatte ich mit "pythonbrew switch 2.7.3" auf das neu installierte Python umgeschaltet.
Was sollte denn im .bash_profile drinstehen? (Das heißt in MacOS so, unter Linux glaub ich .bashrc) Python war zum Zeitpunkt des Tests in der Tat auf 2.6 gestellt. Das ist der Inhalt von .bash_profile für Python2.7:
#!/bin/bash
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH
PYTHONPATH = "$/Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload$PYTHONPATH" export PYTHONPATH
[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source "$HOME/.pythonbrew/etc/bashrc"
Das gibt folgenden Fehler:
$ source .bash_profile -bash: PYTHONPATH: command not found
Komischerweise funktioniert die gleiche Syntax für Python2.6.
Im Internet wurde folgendes vorgeschlagen, führt aber zu derselben Fehlermeldung: PYTHONPATH = "$ {PYTHONPATH} : /Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload"
Was ist denn nun richtig, um den Pfad für Python 2.7 zu setzen?? Danach kann ich hoffentlich endlich mit setuptools weitermachen.
PS: meine Güte, geht das langsam...Ich wollte schon letzte Woche Python 2.7 mit Django und South installiert haben.
Grüße + danke, Suesssauer
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Binary heisst trotzdem nur "python2.7" (bzw. "python").
.3 ist ja nur ne Bugfix-Release und ansonsten kompatibel.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
virtualenv ist immer nett, um verschiedene Umgebungen separat (auch separat vom System) zu installieren. pip ist auch sehr nuetzlich (bei virtualenv dabei neuerdings iirc).
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
Hallo, Hier sind die Probleme mit deinem Shell Script: (gekürzt mit [...]) PYTHONPATH = "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" __________^_^__^____________^_^ Leerzeichen haben in Shell-Skript eine strikte Bedeutung: Sofern sie nicht maskiert sind (") gelten sind IMMER als Parametertrenner. Eine Shell (in diesem Falle bash) interpretiert immer den ersten Ausdruck, der kein ist-gleich (=) enthält, als auszuführenden Befehl. In deinem Beispiel bedeutet, das das "PYTHONPATH" (auf das anschließende Leerzeichen achten!) als Befehl interpretiert wird. Daher auch die entsprechende Fehlermeldung:
-bash: PYTHONPATH: command not found
Wenn wir nun allerdings nun schreiben würden: PYTHONPATH= "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" Wäre dies immer noch nicht korrekt da er nun der Variable $PYTHONPATH den Wert "" zuweist (anschließendes Leerzeichen!) und daher dann den nächsten Parameter mit $PYTHONPATH als Umgebungsvariable ausführt (bedingt durch die Maskierung wäre das: "$ {PYTHONPATH} : /Library/Python/2.7/si[...]", ohne Anführungszeichen und Kürzung) Korrekt (rein Zuweisungstechnisch) wäre daher: PYTHONPATH="$ {PYTHONPATH} : /Library/Python/2.7/si[...]" Nun wird der Shell-Variable $PYTHONPATH der Wert "$ {PYTHONPATH} : /Library/Python/2.7/si[...]" zugewiesen, da keine Parameter ohne ein ist-gleich folgen wird der Wert in einer Shell-internen Liste gespeichert. Das anschließende "export PYTHONPATH" setzt die Variable, dann als Umgebungsvarible für alle folgenden Befehlsaufrufe. Allerdings gibt jetzt immernoch 2 Probleme: 1. Das Leerzeichen in "$ {PYTHONPATH}" Da hier eine Variable (mit dem vorherigen Wert von $PYTHONPATH) eingefügt werden soll muss das Leerzeichen entfernt werden damit die Shell dies erkennt. (Korrekt: "${PYTHONPATH}" oder "$PYTHONPATH") 2. Die Leerzeichen um den ersten Doppelpunkt herum (" : ") Ich weiß jetzt nicht wie Python diese Dinge handhabt aber vermutlich werden Leerzeichen um Dateinamen nicht automatisch gelöscht. Daher wird Python vermutlich nach einem Verzeichnis " /Library/Python/2.7/site-packages" suchen. Da es im aktuellen Verzeichnis vermutlich keinen Ordner Namens " " geben wird (oder jener nicht die entsprechenden Unterordner enthalten wird) wird dies Fehlschlagen. Korrekt wäre daher: PYTHONPATH="${PYTHONPATH}:/Library/Python/2.7/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/Library/Frameworks/Python.framework/Versions/2.7/lib:/Library/Frameworks/Python.framework/Versions/2.7/lib/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload" LG ALexander PS: Ich hoffe dies war ein interessanter Exkurs in die Shell-Programmierung
Hallo, dank eines Karsten Schulz bin ich jetzt etwas weiter, und bei der nächsten Fehlermeldung. Wenn ich jetzt nochmal setuptools versuche zu installieren, kommt: $ sh setuptools-0.6c11-py2.7.egg Traceback (most recent call last): File "<string>", line 1, in <module> zipimport.ZipImportError: can't decompress data; zlib not available Ich fürchte, das dauert so noch Wochen... :( Bisher hat das pythonbrew zu installieren, nicht schrecklich viel gebracht. Ich hätte genauso gut die vorige Python2.7 Installation belassen können, und dann easy_install oder pip installieren, oder? Ich war jetzt gerade dabei, setuptools zu installieren, damit ich dann pip installieren kann, damit ich dann django und south installieren kann. Ist das richtig? sonst bitte mich abhalten und shortcut vorschlagen. Bzw. setuptools kann ich ja nicht installieren, weil mir zlib fehlt... Vielen Dank ans Forum, Suesssauer Am 12.07.12 13:38, schrieb Thomas Waldmann:
sh setuptools-0.6c11-py2.7.egg Das war das einzige egg, das passte. Fehlermeldung:
*setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found* Also ich kenn mich mit Python auf Mac nicht so aus, aber das hoert sich eher so an, als ob das python2.7 Binary nicht im Suchpfad (PATH) ist.
Tipp doch mal auf einer Shell "python2.7<enter>" ein.
Das ist ja kein Wunder, ich hab ja schließlich Python2.7.3 installiert. Das Binary heisst trotzdem nur "python2.7" (bzw. "python").
.3 ist ja nur ne Bugfix-Release und ansonsten kompatibel.
Was tue ich denn bitte jetzt? Ich will nach wie vor neue Pakete installieren und zwar mindestens Django und South. Aber natürlich auch alles andere. Bringt mir da virtualenv was?
virtualenv ist immer nett, um verschiedene Umgebungen separat (auch separat vom System) zu installieren. pip ist auch sehr nuetzlich (bei virtualenv dabei neuerdings iirc).
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
participants (5)
-
Alexander Schlarb
-
Diez B. Roggisch
-
Diez Roggisch
-
Thomas Waldmann
-
Yu-Fang Helena Wang