2011-11-13 47 views
1

也許是因爲我更舒服蟒蛇在外殼,但我選擇添加到我的sys.path列表/usr/lib/python[x.x]/sitecustomize.py以這種方式:過度使用sitecustomize.py:.bash_profile代替?

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有一節,「A special python prompt」,即建議你這樣做,但使用.bash_profile shell腳本的任務提示。使用該腳本代替sitecustomize.py腳本有沒有什麼好處?很顯然,我已經完成了,所以我必須爲我寫一篇關於編寫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 
+0

嗯。這看起來很無痛。我忘了在我的'sudo gedit /usr/lib/python[x.x]/...'命令中寫出額外的步驟,這是一個令我神經緊張的小細節。感謝您指出差異。 – Droogans

+0

所以你說的是,一個用戶登錄到我的機器上的非憑證「客人」帳戶將有權訪問django模板...這是需要關注的東西嗎? – Droogans

+0

如果您更改了'group'和'other''讀/執行'django目錄的權限,那麼他們將無法讀取您的文件。我認爲它只是一個未使用的目錄在他們的'sys.path'中。但是,它仍然不是建立多用戶機器的理想方式。 – unutbu