2012-04-18 6 views
9

Mam poniżej błąd po czystej instalacji Pythona za pomocą brew install python. Link należy do poprzedniej instalacji Pythona, którą usunąłem ręcznie.Python prosi o starsze ścieżki na mac po usunięciu zduplikowanej instalacji pythona

$ virtualenv ENV 
python: posix_spawn: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No such file or directory 

Używam MacOS 10.7.3 i zainstalowałem virtualenv poprzez pip:

$ sudo /usr/local/share/python/pip install virtualenv 
Downloading/unpacking virtualenv 
Downloading virtualenv-1.7.1.2.tar.gz (2.1Mb): 2.1Mb downloaded 
Running setup.py egg_info for package virtualenv 

warning: no previously-included files matching '*.*' found under directory 'docs/_templates' 
Installing collected packages: virtualenv 
Running setup.py install for virtualenv 

warning: no previously-included files matching '*.*' found under directory 'docs/_templates' 
Installing virtualenv script to /usr/local/share/python 
Successfully installed virtualenv 
Cleaning up... 
$ virtualenv ENV 
python: posix_spawn: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No such file or directory 

Jak mogę rozwiązać ten problem?

Edytuj: Zainstalowałem system MacOSx i powróciłem do poprzedniego stanu, który spowodował usunięcie preinstalowanego pythona.

$ which python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
$ which pip /usr/local/bin/pip $ sudo pip install virtualenv 
Downloading/unpacking virtualenv 
Downloading virtualenv-1.7.1.2.tar.gz (2.1Mb): 2.1Mb downloaded 
Running setup.py egg_info for package virtualenv 

warning: no previously-included files matching '*.*' found under directory 'docs/_templates' 
Installing collected packages: virtualenv 
Running setup.py install for virtualenv 

warning: no previously-included files matching '*.*' found under directory 'docs/_templates' 
Installing virtualenv script to /usr/local/bin 
Successfully installed virtualenv 
Cleaning up... 


$ python virtualenv.py ENV 
/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/‌​MacOS/Python: can't open file 'virtualenv.py': [Errno 2] No such file or directory 

virtualenv.py znajduje się /Library/Python/2.7/site-packages/virtualenv.py i /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/ py2app/recipes/virtualenv.py, ale w jakiś sposób python traci wszystko.

Dlaczego jest tak dużo bałaganu? Jak mam to naprawić?

+0

Możesz skorzystać z lektury pierwszej odpowiedzi [link here] (http: // stackoverflow.com/questions/1218891/multiple-versions-of-python-on-os-x-leopard), a następnie odczytanie linku, który zapewnia ta odpowiedź. Zazwyczaj usunięcie wersji zainstalowanych przez Apple jest okropnym pomysłem (jest to jeden z powodów, dla których odmawiam tworzenia na komputerze Mac). – ely

+0

Już używałem naparu. Dyskusja dotyczy głównie MacPorts w tym łączu. – cgl

Odpowiedz

15

miałem ta sama sytuacja po zrobić głupstwo usuwać cały /System/Library/Frameworks/Python.framework/ co skutkuje błędem:

python: posix_spawn: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No such file or directory

udało mi się przywrócić to, ponieważ miałem wcześniejszą kopię całego dysku i po prostu kopiując wklejanie całego katalogu Python.framework.

nie wiem ile to zależy od systemu, ale jeśli ktoś chciałby spróbować zrobić to w taki sam sposób zamiast ponownej instalacji całego OS X, cała Python.framework spakowane ode mnie jest tutaj: http://andilabs.com/Python.framework.zip

+1

Dzięki za przesłanie @ i, ale nie jest już on-line. Czy możesz ponownie przesłać ten plik Python.framework.zip? –

+0

@ StéphaneBruckert link powinien działać teraz. Cieszyć się! – andi

+1

Niesamowite, dziękuję! –

7

Wygląda na to, że usunięto dostarczony przez Apple Python 2.7, który jest częścią systemu OS X 10.7. To źle. Być może nieumyślnie uszkodzone części systemu OS X zależą od tego. Ogólnie rzecz biorąc, nigdy nie usuwaj niczego w /usr (innego niż /usr/local) lub w /System/Library. Jeśli zainstalujesz nowszą wersję czegoś, zarządzaj nią przez $ PATH, a nie usuwając. Najlepszą długoterminową rzeczą do zrobienia jest ponowne zainstalowanie tego, co skasowałeś; najbezpieczniejszym sposobem na to jest ponowne zainstalowanie OS X. Tymczasowe obejście może być może zostać przeniesione /usr/bin/python z drogi i zastąpienie go linkiem do /usr/local/bin/python2.7, ale naprawdę powinieneś cofnąć uszkodzenia systemu.

AKTUALIZACJA: Po przywróceniu systemu Python (dobrze!), Możemy uzyskać oryginalny problem. Bez dodatkowych informacji, mogę tylko spekulować, ale są szanse, że instalujesz virtualenv do niewłaściwej instancji Pythona. Należy pamiętać, że należy zainstalować kopię Distribute (lub jej poprzednika, setuptools), która zawiera polecenie easy_install i oddzielną kopię pip w każdym wystąpieniu Pythona, którego chcesz użyć. Jeśli używasz easy_install, który Apple dostarcza wraz z OS X, będziesz instalował system w Pythonie firmy Apple. Wspomniasz o użyciu w komentarzu numeru brew. Jeśli tak, powinieneś postępować zgodnie z the instructions and recipes for it; właśnie dlatego masz menedżera pakietów. Ale oto w jaki sposób zainstalować wszystko od podstaw:

$ which python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
$ curl -O http://python-distribute.org/distribute_setup.py 
$ python distribute_setup.py 
[...] 
creating /Library/Frameworks/Python.framework/Versions/2.7.3_release_10.6/lib/python2.7/site-packages/distribute-0.6.26-py2.7.egg 
Extracting distribute-0.6.26-py2.7.egg to /Library/Frameworks/Python.framework/Versions/2.7.3_release_10.6/lib/python2.7/site-packages 
Adding distribute 0.6.26 to easy-install.pth file 
Installing easy_install script to /Library/Frameworks/Python.framework/Versions/2.7/bin 
Installing easy_install-2.7 script to /Library/Frameworks/Python.framework/Versions/2.7/bin 

Installed /Library/Frameworks/Python.framework/Versions/2.7.3_release_10.6/lib/python2.7/site-packages/distribute-0.6.26-py2.7.egg 
Processing dependencies for distribute==0.6.26 
Finished processing dependencies for distribute==0.6.26 
After install bootstrap. 
Creating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info 
Creating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools.pth 
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py 
$ python get-pip.py 
$ which pip 
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip 
$ pip install virtualenv 
[...] 
    Installing virtualenv script to /Library/Frameworks/Python.framework/Versions/2.7/bin 
Successfully installed virtualenv 
Cleaning up... 
$ which virtualenv 
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv 
$ virtualenv ENV 
New python executable in ENV/bin/python 
Installing setuptools............done. 
Installing pip...............done. 
$ source ENV/bin/activate 
(ENV)$ which python 
/Users/nad/ENV/bin/python 
(ENV)$ 
+0

Problem jest taki sam, dlatego najpierw usunąłem zainstalowany preinstalowany python. Zrobiłem ponowną instalację. $ które pyton /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ które pip /usr/local/bin/pip $ sudo pip zainstalować virtualenv Pobieranie/rozpakowywania virtualenv .... $ python virtualenv.py ENV /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: nie można otworzyć pliku 'virtualenv.py': [Errno 2] Brak takiego pliku lub katalog – cgl

+0

Proszę sprawdź moją edycję powyżej – cgl

Powiązane problemy