После установки Anaconda я получаю постоянное сообщение "KeyError:" PYTHONPATH "
После установки Anaconda для Python 3.4 на моем Mac я получаю постоянные сообщения, говорящие:
Error in sitecustomize; set PYTHONVERBOSE for traceback:
KeyError: 'PYTHONPATH'
Как было предложено пользователем по другому вопросу, я использовал
PYTHONVERBOSE=1 conda update --all
И получил трассировку:
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
Я огляделся и обнаружил, что "PYTHONPATH" не существует в качестве ключа в os.environ.
Ответы
Ответ 1
Если установлена переменная среды PYTHONPATH
, отключите ее. Вы можете проверить с помощью echo $PYTHONPATH
. Если он установлен, это, вероятно, происходит от чего-то в ~/.profile или ~/.bash_profile.
Проблема заключается в файле /usr/local/lib/python2.7/site-packages/sitecustomize.py
. Возможно, вам захочется проверить, что это за файл, и откуда он исходит, но его удаление должно устранить проблему.
Ответ 2
Переход к некроположению здесь более подробно для людей, которые могут попасть на эту страницу после поиска показанной ошибки...
Если у вашего Mac есть сообщения, ссылающиеся на /usr/local/, я собираюсь пойти и предположить, что вы использовали homebrew, чтобы установить что-то. В этом случае Python.
Когда установлен дистрибутив Anaconda Python, одна из вещей, которые он проверит, - это если какие-либо настройки сайта применяются к вашей существующей установке Python. Если вы установили любую версию Python с помощью Homebrew, у вас, вероятно, будет такая настройка сайта.
-
Запуск conda info -a | grep dirs
получит информацию об установке Anaconda и поиск строки с включенным dirs
. Только один должен соответствовать, если он существует:
user site dirs: ~/.local/lib/python3.5
-
Если он существует, cd
в этот каталог (независимо от того, что он есть) и получить список каталогов (ls
). Затем вы (вероятно) найдете файл с именем homebrew.pth
.
- Удалите этот файл, и ошибка исчезнет.
Причина: Anaconda ссылается на этот файл homebrew.pth
, который затем включает sitecustomize.py
из предыдущей homebrew -установленной версии Python.