Python setup.py points to . as opposed to the directory specified in setup.py?
Question: This is my current project setup:

    
    
    .
    ├── README.md
    ├── build
    │   ├── bdist.macosx-10.8-intel
    │   └── lib
    ├── dist
    │   └── giordano-0.1-py2.7.egg
    ├── giordano.egg-info
    │   ├── PKG-INFO
    │   ├── SOURCES.txt
    │   ├── dependency_links.txt
    │   ├── not-zip-safe
    │   └── top_level.txt
    ├── requirements.txt
    ├── setup.py
    ├── src
    │   ├── giordano
    │   └── spider
    ├── test.txt
    └── venv
        ├── bin
        ├── include
        ├── lib
        └── share
    

And this is my setup file:

    
    
    from setuptools import setup
    
    setup(name='giordano',
      version='0.1',
      packages=['giordano'],
      package_dir={'giordano': 'src/giordano'},
      zip_safe=False)
    

When I do `python setup.py install`, I am able to `import giordano` in my code
without problems.

However, when I am doing `python setup.py develop`, this is the console
output:

    
    
    [venv] fixSetup$ python setup.py develop
    running develop
    running egg_info
    writing giordano.egg-info/PKG-INFO
    writing top-level names to giordano.egg-info/top_level.txt
    writing dependency_links to giordano.egg-info/dependency_links.txt
    reading manifest file 'giordano.egg-info/SOURCES.txt'
    writing manifest file 'giordano.egg-info/SOURCES.txt'
    running build_ext
    Creating /Users/blah/Dropbox/projects/Giordano/venv/lib/python2.7/site-packages/giordano.egg-link (link to .)
    Removing giordano 0.1 from easy-install.pth file
    Adding giordano 0.1 to easy-install.pth file
    
    Installed /Users/blah/Dropbox/projects/Giordano
    Processing dependencies for giordano==0.1
    Finished processing dependencies for giordano==0.1
    

I noticed that the egg is linked to `.` as opposed to `src/giordano`. I can no
longer `import giordano` in my code.

Any ideas why develop is not respecting `package_dir`?


Answer: Try with 'giordano': 'src'. distutils/distribute looks for the module or
package name in the directory you specify; in the code you pasted, the value
is one directory too deep.

