it-roy-ru.com

Добавить в 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

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

52
MacPython

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

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

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

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

70
Matthew Flaschen

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

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

8
Aidan Ewen

Ответ Мэтью работает для терминала python Shell, но в моем случае это не сработало для IDLE Shell, потому что существовало много версий 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 и введите Now, откройте простое и попробуйте импортировать модуль python, для меня нет ошибок !!!
2
Tennom

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

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

2
Andros