2015-09-01 9 views
10

Dopo l'installazione di Anaconda per Python 3.4 sul mio Mac ricevo messaggi costanti dicendo:Dopo l'installazione Anaconda, ottengo "KeyError: 'PYTHONPATH'" costante messaggi

Error in sitecustomize; set PYTHONVERBOSE for traceback: 
KeyError: 'PYTHONPATH' 

Come suggerito da un utente su un'altra domanda, utilizzato

PYTHONVERBOSE=1 conda update --all 

e ha ricevuto il traceback:

Traceback (most recent call last): 
    File "/Users/user/anaconda/lib/python3.4/site.py", line 506, in execsitecustomize 
    import sitecustomize 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1129, in _exec 
    File "<frozen importlib._bootstrap>", line 1471, in exec_module 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed 
    File "/usr/local/lib/python2.7/site-packages/sitecustomize.py", line 15, in <module> 
    str(sys.version_info[0]) + '.x!\n  PYTHONPATH is currently: "' + str(os.environ['PYTHONPATH']) + '"\n' + 
    File "/Users/user/anaconda/lib/python3.4/os.py", line 633, in __getitem__ 
    raise KeyError(key) from None 
KeyError: 'PYTHONPATH' 
# destroy sitecustomize 

ho guardato intorno e ha scoperto che 'P YTHONPATH 'non esiste come chiave in os.environ.

risposta

13

Se la variabile di ambiente PYTHONPATH è impostata, disattivarla. È possibile verificare con echo $PYTHONPATH. Se è impostato probabilmente proviene da qualcosa in ~/.profile o ~/.bash_profile.

Il problema è il file /usr/local/lib/python2.7/site-packages/sitecustomize.py. Potresti voler controllare di che file si tratta e da dove proviene, ma rimuoverlo dovrebbe risolvere il problema.

+0

Funziona come un fascino. Grazie! –

+2

L'installazione di miniconda con homebrew scrive questo file, che causa problemi quando è impostato '$ PYTHONPATH'. Rinominare (o rimuovere) risolve il problema senza disabilitare '$ PYTHONPATH'. – alistaire

+2

Questo lo ha risolto per me. Appena rinominato il file: 'sudo mv /usr/local/lib/python2.7/site-packages/sitecustomize.py/usr/local/lib/python2.7/site-packages/sitecustomize_backup.py' –

6

Andando a Necro-risposta qui con maggiore dettaglio per la gente che potrebbe colpire questa pagina dopo aver cercato per l'errore indicato ...

Se il Mac dispone messaggi che fanno riferimento/usr/local /, ho intenzione di andare avanti e supponi di aver usato homebrew per installare qualcosa. In questo caso, Python.

Quando viene installata la distribuzione Python di Anaconda, una delle cose che controllerà è se sono state applicate personalizzazioni del sito all'installazione Python esistente. Se hai installato una versione di Python usando Homebrew, probabilmente hai una personalizzazione del sito.

  1. Esecuzione conda info -a | grep dirs otterrà il vostro Anaconda installare informazioni e cercare una linea con dirs incluso. Solo uno dovrebbe corrispondere, se esiste:

    user site dirs: ~/.local/lib/python3.5

  2. Se fa esistere, cd a quella directory (qualunque esso sia), e ottenere un elenco di directory (ls). Quindi (probabilmente) troverai un file chiamato homebrew.pth.

  3. Rimuovere il file e l'errore scompare.

Motivo: Anaconda fa riferimento che homebrew.pth file, che passa poi a includere il sitecustomize.py dal precedente homebrew versione installato dal di Python.

+0

Questo è stato super utile informazioni, grazie! – Rob

+1

Ha funzionato, grazie!In realtà, il file 'homebrew.pth' si trovava in una cartella all'interno del sito dir dell'utente – Abramodj