#python #django #shell #.bash-profile
#python #django #оболочка #bash
Вопрос:
Может быть, это потому, что мне удобнее использовать python вместо командной строки, но я решил добавить в свой sys.path
список в /usr/lib/python[x.x]/sitecustomize.py
таким образом:
base = '/home/droogans/py/'
locs = ['foo','django']
for loc in locs:
sys.path.insert(0, base loc)
И теперь я добавил try:except
блок под ним, на случай, если я захочу протестировать шаблон без использования python manage.py shell
подхода.
try:
from django.core.management import setup_environ
from website_foobar import settings
setup_environ(settings)
except ImportError:
pass
В DjangoBook есть раздел «Специальное приглашение python«, который рекомендует вам сделать это, но предлагает использовать ваш .bash_profile
сценарий оболочки для выполнения задачи. Есть ли измеримая выгода от использования этого вместо sitecustomize.py
скрипта? Очевидно, я уже закончил, поэтому мне понадобятся какие-то убедительные доказательства, чтобы найти в Google статью о написании shell-кода.
Ответ №1:
Иногда у вас не будет статуса суперпользователя на используемой вами машине. В таких случаях вы не сможете изменить /usr
, поэтому было бы необходимо знать, как установить переменные среды в вашем личном ~/.bashrc или ~/.profile или ~/.bash_profile . (Конкретный используемый файл зависит от вашей системы).
Это не сложно сделать. Все, что вам нужно добавить (я думаю!), это что-то вроде
PYTHONPATH=$HOME/py/foo:$HOME/py/django
DJANGO_SETTINGS_MODULE=website_foobar.settings
export PYTHONPATH DJANGO_SETTINGS_MODULE
Комментарии:
1. Хм. Это выглядит примерно безболезненно. Я забыл прописать дополнительный шаг в моей
sudo gedit /usr/lib/python[x.x]/...
команде, маленькая деталь, которая действительно действует мне на нервы. Спасибо, что указали на разницу.2. Итак, вы хотите сказать, что пользователь, входящий в учетную запись «гость» без учетных данных на моем компьютере, будет иметь доступ к django-templates…is это то, о чем стоит беспокоиться?
3.Если бы вы изменили
group
иother
read/execute
разрешения в вашем каталоге django, то они не смогли бы прочитать ваши файлы. Я думаю, что это просто неиспользуемый каталог в ихsys.path
. Однако это все еще не идеальный способ настройки многопользовательской машины.4. Я вставил это туда под
~/.bashrc
withexport PYTHONPATH=~/py/django:~/py/foo
, являющимся единственной строкой. Самое приятное, что это применимо ко всем моим сеансам python 2.6 и 3.1. Спасибо.