Как я могу устранить неполадки Python? Не удалось найти независимые от платформы библиотеки <prefix> "

Я пытаюсь использовать Fontcustom для создания шрифта значка, используя svg файлы и fontforge. Я на OSX.7. Однако всякий раз, когда я запускаю программу, я получаю ошибку

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site'

Являясь новичком Python/Unix, я даже не знаю, с чего начать пытаться это решить. Может ли кто-нибудь предложить какие-либо советы? Для чего относятся <prefix> и <exec_prefix>?

Когда я python --version я получаю Python 2.7.1. И в каталоге /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 имеется большой список модулей, а site.py определенно находится в этой папке. Как я могу заставить компьютер найти модули?

Ответ 1

Если вы создали виртуальный env, а затем удалили эту установку python, вы получите ту же ошибку. Просто rm -r ваша папка в venv, затем заново создайте его с допустимым местоположением python и выполните pip install -r requirements.txt и все будет готово (если у вас есть ваш pip install -r requirements.txt справа).

Ответ 2

Попробуйте export PYTHONHOME=/usr/local. Python должен быть установлен в /usr/local на OS X.

Этот ответ получил немного больше внимания, чем я ожидал, я добавлю немного больше контекста.

Обычно Python ищет свои библиотеки по путям prefix/lib и exec_prefix/lib, где prefix и exec_prefix являются опциями конфигурации. Если переменная окружения PYTHONHOME установлена, то значения prefix и exec_prefix наследуются от нее. Если переменная окружения PYTHONHOME не установлена, то prefix и exec_prefix по умолчанию устанавливаются на /usr/local (и я считаю, что есть и другие способы установить prefix/exec_prefix, но я не совсем знакомы с ними).

Обычно, когда вы получаете сообщение об ошибке Could not find platform independent libraries <prefix>, строка <prefix> заменяется фактическим значением prefix. Однако, если prefix имеет пустое значение, вы получите довольно загадочные сообщения, размещенные в вопросе. Один из способов получить пустое prefix - установить пустую строку PYTHONHOME. Дополнительная информация о PYTHONHOME, prefix и exec_prefix доступна в официальных документах.

Ответ 3

измените PYTHONHOME на родительскую папку файла bin python, например /usr, которая является родительской папкой /usr/bin.

Ответ 4

У меня была эта проблема, и я провел несколько часов, пытаясь ее исправить. Я исправил ошибку префикса, изменив путь, но у меня все еще была ошибка импорта кодировки. Это было исправлено перезагрузкой моего компьютера.

Ответ 5

Мой pycharm ce имел ту же ошибку, ее было легко исправить, если у кого-то есть такая ошибка, просто удалите и удалите папку, используйте ctrl+h, если вы не можете найти папку в ваших документах, установите программное обеспечение снова и должны работать снова.

Не забудьте сохранить папку с царапинами перед удалением папки pycharm.

Ответ 6

Когда первый лев скрипта python равен #!/usr/bin/env python, возможно, это проблема /usr/bin/env. Вы можете запустить /usr/bin/env чтобы увидеть, если ошибка, если она работает с ошибкой, вы можете обновить /usr/bin/env с помощью yum (и т.д.) Установить coreutils.