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

Я думал

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

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

Если я печатаю sys.путь моего режиссера там.

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

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

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

Я читал .профиль или. файл будет делать трюк.

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

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

чтобы заставить его работать?

4 ответов


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

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

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

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


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

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


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

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


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

  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 и enter Теперь откройте idle и попробуйте импортировать модуль python, без ошибок для меня!!!