From b3e20b843dc92e83c335488792fd7e3dc76c1fc4 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Fri, 4 Sep 2015 13:43:24 -0400 Subject: [PATCH] more carefully add to python path * ensure our path is the first in the sys.path list instead of blindly poping and pushing onto the path --- awx/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/awx/__init__.py b/awx/__init__.py index 2c4a64f58e..08837cdfd5 100644 --- a/awx/__init__.py +++ b/awx/__init__.py @@ -41,9 +41,14 @@ def prepare_env(): local_site_packages = os.path.join(os.path.dirname(__file__), 'lib', 'site-packages') site.addsitedir(local_site_packages) - # Work around https://bugs.python.org/issue7744 - # by moving local_site_packages to the front of sys.path - sys.path.insert(0, sys.path.pop()) + try: + index = sys.path.index(local_site_packages) + sys.path.pop(index) + # Work around https://bugs.python.org/issue7744 + # by moving local_site_packages to the front of sys.path + sys.path.insert(0, local_site_packages) + except ValueError: + pass # Hide DeprecationWarnings when running in production. Need to first load # settings to apply our filter after Django's own warnings filter. from django.conf import settings