title: Backporting from 3 to 2.7: ImportError: cannot import name
body: <p>After reading <a href="https://stackoverflow.com/questions/24229203/does-google-app-engine-support-python-3">this</a>, and crying a lot, I'm trying to make my Django app work with Python 2.7.</p>
  
  <p>Here's my Django web dir:</p>
  
  <pre><code>├── locale
  │   ├── en
  │   ├── fr
  │   └── sv
  ├── produits
  │   ├── migrations
  │   └── templatetags
  ├── pyweb
  ├── templates
  │   └── produits
  ├── third_party
  │   ├── authomatic_0_1_0
  │   ├── defusedxml-0.4.1
  │   ├── google_appengine_1_9_25
  │   ├── python-openid_2_2_5
  │   └── python3-openid
  └── uploads
  </code></pre>
  
  <p>The most important to notice is that I've tried to add all my "external" module into a folder <code>third_party</code>.</p>
  
  <p>In my <code>views.py</code>, the following code was working:</p>
  
  <pre><code>from third_party.authomatic_0_1_0 import authomatic
  from third_party.authomatic_0_1_0.authomatic import adapters
  from third_party.authomatic_0_1_0.authomatic.providers import oauth1, oauth2
  </code></pre>
  
  <p>It was working <strong><em>because I added those lines</em></strong> in <code>settings.py</code> at the very beginning:</p>
  
  <pre><code>BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  sys.path.append(BASE_DIR+'/third_party/defusedxml-0.4.1')
  sys.path.append(BASE_DIR+'/third_party/python3-openid')
  sys.path.append(BASE_DIR+'/third_party/google_appengine_1_9_25')
  sys.path.append(BASE_DIR+'/third_party/authomatic_0_1_0')
  </code></pre>
  
  <p>But now, with python 2.7 it doesnt work anymore. What should I do to make it work? And what is a good practice in Python (because Pycharm doesn't recognize all the subfolders of <code>third_party</code>)?</p>