Добавить в python путь mac os x

Я думал, что

import sys
sys.path.append("/home/me/mydir")

добавляет каталог к ​​моему pythonpath

если я печатаю sys.path, мой каталог находится там.

Затем я открываю новую команду, и ее больше нет.

Но как-то Python не смог импортировать модули, которые я сохранил в этом каталоге.

Что я делаю неправильно?

Я читаю .profile или .bash_profile будет делать трюк.

Должен ли я добавить:

PATH="/Me//Documents/mydir:$PYTHONPATH"
export PATH

Чтобы он работал?

Ответ 1

Изменения в sys.path применяются только для жизни этого интерпретатора Python. Если вы хотите сделать это постоянно, вам нужно изменить переменную среды PYTHONPATH:

PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"
export PYTHONPATH

Обратите внимание, что PATH - это системный путь для исполняемых файлов, который полностью разделен.

** Вы можете написать выше в ~/.bash_profile, а источник - с помощью source ~/.bash_profile

Ответ 2

Не уверен, почему решение Мэтью не помогло мне (возможно, я использую OSX10.8 или, возможно, что-то делать с macports). Но я добавил следующее в конец файла в ~/.profile

export PYTHONPATH=/path/to/dir:$PYTHONPATH

моя директория теперь находится на пути python -

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', ...  

и я могу импортировать модули из этого каталога.

Ответ 3

Установка переменной окружения $PYTHONPATH, похоже, не влияет на терминалы iPython IDE Spyder на Mac. Тем не менее, приложение приложения Spyder содержит "диспетчер PYTHONPATH". Добавление моего пути здесь решило мою проблему. "Менеджер PYTHONPATH" также сохраняется во всех перезапусках приложений.

Это специфично для Mac, потому что установка переменной среды PYTHONPATH на моем ПК с Windows дает ожидаемое поведение (обнаружены модули) без использования диспетчера PYTHONPATH в Spyder.

Ответ 4

Ответ Mathew работает на терминальную оболочку 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, без ошибок для меня.