2015-02-23 4 views
2

Я пытаюсь экспортировать переменную среды PYTHONPATH из моего .zshrc, но не удается.Экспорт PYTHONPATH из .zshrc не работает

соответствующие строки .zshrc

PYTHONPATH="/Users/nicolas/Code:/Users/nicolas/Code/Dashboard" 
export $PYTHONPATH 

** из командной строки **

1] тест один

echo $PYTHONPATH 
/Users/nicolas/Code:/Users/nicolas/Code/Dashboard 
появляется

работать

2] тест два

`sh -c 'echo "$PYTHONPATH"' ` 
==> empty output 

на самом деле не делает

3] Испытание три

выполнения сценария folloing Python, с помощью команды python script.py

#!/usr/bin/env python 
import os 
try: 
    user_paths = os.environ['PYTHONPATH'].split(os.pathsep) 
except KeyError: 
    user_paths = 'no pythonpath' 
print user_paths 

выходы: нет PYTHONPATH

снова не удалось

4] Тест четыре

zsh -x -c 'echo moo' 

+/etc/zshenv:2> [ -x /usr/libexec/path_helper ']' 
+/etc/zshenv:3> /usr/libexec/path_helper -s 
+/etc/zshenv:3> eval 'PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/X11/bin:/usr/texbin:/Users/nicolas/anaconda/bin:/opt/local/lib/postgresql93/bin:/Users/nicolas/Code/games:/Users/nicolas/Code/Dashboard";' export 'PATH;' 
+(eval):1> PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/X11/bin:/usr/texbin:/Users/nicolas/anaconda/bin:/opt/local/lib/postgresql93/bin:/Users/nicolas/Code/games:/Users/nicolas/Code/Dashboard 
+(eval):1> export PATH 
+zsh:1> echo moo 
moo 

дополнительная информация:

which zsh 

выходы:/USR/местные/бен/ЗШ

Мой $ PATH в порядке, это совершенно похоже на терминал и из боковой питон.

Что происходит, и как я могу это решить?

Использование Mac OS, питон установлен из анаконды

ответ

4

Это export $PYTHONPATH неверен.

export принимает переменные имена не значения.

Вы хотите export PYTHONPATH.

Ваша линия эквивалентна export /Users/nicolas/Code:/Users/nicolas/Code/Dashboard, которая, как вы могли бы сказать, не очень полезна.

+0

Спасибо. Такая небольшая ошибка трудно найти в новой среде * nix. – knightofni

+0

Вы должны были увидеть ошибку из своей оболочки при попытке выполнить эту строку, потому что расширенная строка 'export' не является законной. (Попробуйте в запущенной оболочке, чтобы понять, что я имею в виду.) Хотя возможно, что это было куда-то отправлено, вы не могли видеть (или не знали, чтобы посмотреть). –

+0

Да, при загрузке оболочки произошла ошибка.Но поскольку echo $ PYTHONPATH возвратил что-то похожее на путь, я не обратил внимания на это предупреждение ... – knightofni