Добавить в python путь Mac OS X - PullRequest
       33

Добавить в python путь Mac OS X

48 голосов
/ 02 августа 2010

Я думал

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

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

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

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

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

Что я делаю не так?

Я прочитал .profile или .bash_profile добьются цели.

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

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

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

Ответы [ 4 ]

66 голосов
/ 02 августа 2010

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

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

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

** Вы можете написать выше в ~/.bash_profile и источник его, используя source ~/.bash_profile

7 голосов
/ 13 ноября 2012

Не уверен, почему решение Мэтью не сработало для меня (может быть, я использую 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', ...  

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

2 голосов
/ 10 июня 2016

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

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

1 голос
/ 26 июня 2014

Ответ Мэтью работает для терминальной оболочки python, но в моем случае он не работал для оболочки IDLE, потому что существовало много версий python, прежде чем я заменил их все на Python2.7.7. Как я решил проблему с IDLE.

  1. В терминале, cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/
  2. , затем sudo nano idlemain.py, при необходимости введите пароль.
  3. после os.chdir(os.path.expanduser('~/Documents')) этой строки я добавил sys.path.append("/Users/admin/Downloads....") ПРИМЕЧАНИЕ: замените содержимое кавычек на каталог, куда будет добавлен модуль python
  4. , чтобы сохранить изменения, нажмите Ctrl + X и введите Теперь откройте вхолостую и попробуйте импортировать модуль python, без ошибок для меня !!!
...