Добавить в python путь Mac OS X
Я думал
import sys
sys.path.append("/home/me/mydir")
добавляет каталог к моему питону
если я печатаю sys.path, мой каталог там.
Затем я открываю новую команду, и ее больше нет.
Но почему-то Python не может импортировать модули, которые я сохранил в этом каталоге.
Что я делаю неправильно?
Я читаю.profile или.bash_profile.
Должен ли я добавить:
PATH="/Me//Documents/mydir:$PYTHONPATH"
export PATH
Чтобы это работало?
8 ответов
Модификации для sys.path
применять только для жизни этого интерпретатора Python. Если вы хотите сделать это навсегда, вам нужно изменить PYTHONPATH
переменная окружения:
PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"
export PYTHONPATH
Обратите внимание, что PATH
системный путь для исполняемых файлов, который является полностью отдельным.
** Вы можете написать выше в ~/.bash_profile
и источник это использует source ~/.bash_profile
В MAC OS вы можете просто найти местоположение python / python3 с помощью команды
which python
или
which python3
. (работает и для Linux)
И должно получиться что-то вроде:
Для питона
/usr/local/bin/python
Для python3
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
Экспортируйте путь в свой
bash_profile
В вашем типе терминала
sudo nano ~/.bash_profile
Введите свой пароль и вставьте следующие строки
PYTHONPATH="/Library/Frameworks/Python.framework/Versions/3.9/bin/python3"
export PYTHONPATH
Нажмите
control + x
для выхода и нажмите
y
для экономии на просьбе сохранить
Нажмите Enter, чтобы вернуться в окно терминала.
Загрузите его, используя следующую команду в терминале, запустите
source ~/.bash_profile
Путь к python3 должен быть обновлен сейчас !!
Не уверен, почему решение Мэтью не сработало для меня (возможно, я использую OSX10.8 или что-то связанное с macports). Но я добавил следующее в конец файла в ~/.profile
export PYTHONPATH=/path/to/dir:$PYTHONPATH
мой каталог сейчас находится на pythonpath -
my-macbook:~ aidan$ python
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/path/to/dir', ...
и я могу импортировать модули из этого каталога.
Ответ Мэтью работает для терминальной оболочки Python, но в моем случае он не работал для оболочки IDLE, потому что существовало много версий python, прежде чем я заменил их все на Python2.7.7. Как я решил проблему с IDLE.
- В терминале,
cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/
- затем
sudo nano idlemain.py
введите пароль, если требуется. - после
os.chdir(os.path.expanduser('~/Documents'))
эту строку я добавилsys.path.append("/Users/admin/Downloads....")
ПРИМЕЧАНИЕ: замените содержимое кавычек на каталог, куда будет добавлен модуль Python - чтобы сохранить изменения, нажмите Ctrl+ X и введите Сейчас откройте бездействующие и попробуйте импортировать модуль Python, без ошибок для меня!!!
Задание переменной среды $PYTHONPATH, похоже, не влияет на терминалы iPython в Spyder IDE на Mac. Однако меню приложений Spyder содержит "PYTHONPATH manager". Добавление моего пути решило мою проблему."PYTHONPATH manager" также сохраняется при перезапуске приложений.
Это характерно для Mac, поскольку установка переменной среды PYTHONPATH на моем ПК с Windows дает ожидаемое поведение (модули найдены) без использования менеджера PYTHONPATH в Spyder.
В MacOS Big Surf файл для добавления «экспорта» - $HOME / .zprofile.
Итак, это должно работать для добавления PYTHONPATH в переменные среды Mac Big Surf:
export PYTHONPATH=$HOME/my_folder
В моем файле, расположенном по адресу
/Users/your_username/.zshrc
Я добавляю следующую строку:
export PYTHONPATH="${PYTHONPATH}:/your/path"
и сохранить его.
Если файл не существует, создайте безымянный
.txt
файл и измените его расширение на
.zshrc
. Это скрытый файл, поэтому вам нужно нажать
cmd+shift+.
чтобы увидеть это.
Я использую macOS Монтерей.
Видел весь предыдущий ответ и попробовал сам. Но большинство из них окажется бесполезным.
При вводе в терминале принимается версия Python 2.7, но все новые модули будут для версии 3.x, поэтому просто введите
python3 /path/to/file/main.py
В конечном итоге ваш файл будет запущен в Python3, и весь импорт из установленных пакетов будет работать нормально.