title: Python "ImportError: No module named...", but the module exists
body: <p>My file directory tree looks like this:</p>
  
  <pre><code>my_repo
  ├── experiments
  │   ├── foo.py
  │   └── __init__.py
  └── tests
      ├── baz.py
      └── __init__.py
  </code></pre>
  
  <p>Inside <code>baz.py</code>, I try </p>
  
  <pre><code>from experiments.foo import FooExperiment
  </code></pre>
  
  <p>but I get </p>
  
  <pre><code>*** ImportError: No module named experiments.foo
  </code></pre>
  
  <p>When I open python from the terminal (Mac OSX 10.9) and run</p>
  
  <pre><code>from experiments.foo import FooExperiment
  </code></pre>
  
  <p>the class is imported properly. What is going on? Please help.</p>
  
  <p>In both situations the <code>sys.path</code> is exactly the same, except when I'm in <code>baz.py</code> the current path (to <code>baz.py</code>) is included. And yes <code>/path/to/my_repo</code> is in my <code>sys.path</code> as well.</p>
  
  <p><strong>EDIT</strong>: my issue was with conflicting egg files, so reinstalling did the trick (below). Accepting @Austin Marshall's answer though because it's a viable solution to the general case of this problem.</p>
  
  <pre><code>pip uninstall my_repo
  python setup.py develop --user
  </code></pre>