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



Я думал



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


Это добавление dir к моему pythonpath



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



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



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



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



Я читаю .профиль или .bash_profile сделает свое дело.



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



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


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

992   4  

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

Comments

    Ничего не найдено.