From e139ef5741716d8cb715ff17da2b33df08d85309 Mon Sep 17 00:00:00 2001 From: Peter Inglesby Date: Fri, 5 Aug 2016 14:09:20 +0100 Subject: [PATCH] Fixed #27023 -- Prevented possibility of shell loading ~/.pythonrc.py twice. --- django/core/management/commands/shell.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/django/core/management/commands/shell.py b/django/core/management/commands/shell.py index d6d6f6a087..b4e9caf0d1 100644 --- a/django/core/management/commands/shell.py +++ b/django/core/management/commands/shell.py @@ -2,6 +2,7 @@ import os import warnings from django.core.management.base import BaseCommand +from django.utils.datastructures import OrderedSet from django.utils.deprecation import RemovedInDjango20Warning @@ -88,10 +89,9 @@ class Command(BaseCommand): # We want to honor both $PYTHONSTARTUP and .pythonrc.py, so follow system # conventions and get $PYTHONSTARTUP first then .pythonrc.py. if not options['no_startup']: - for pythonrc in (os.environ.get("PYTHONSTARTUP"), '~/.pythonrc.py'): + for pythonrc in OrderedSet([os.environ.get("PYTHONSTARTUP"), os.path.expanduser('~/.pythonrc.py')]): if not pythonrc: continue - pythonrc = os.path.expanduser(pythonrc) if not os.path.isfile(pythonrc): continue try: