Как я могу устранить неполадки 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.