When I run my program, server.exe, which was built by py2exe, I get this error:

Traceback (most recent call last):
  File "server.py", line 96, in <module>
  File "pyproj\__init__.pyc", line 62, in <module>
IOError: proj data directory not found. Expecting it at: C:\path\to\my\project\dist\library.zip\pyproj\data

pyproj normally uses a data directory of about 40 files, which is located at C:\Python26\Lib\site-packages\pyproj\data.

py2exe does not include this data directory in library.zip\pyproj, which I can understand because how would py2exe know about it.

I tried manually copying the data folder into the pyproj folder inside of library.zip, but running again gave the same error.

In general I'm confused about the purpose of creating library.zip instead of just creating a regular library directory. It's not clear to me how the files in the .zip are accessed at runtime, and in particular how a package like pyproj is supposed to access its data. It seems to know to look in the path C:\path\to\my\project\dist\library.zip\pyproj\data, but I don't understand how that is even a valid path, in that it includes zipped files and folders.

I also tried adding
    skip_archive = True
to my setup options, thinking that might prevent the creation of the library.zip file, but apparently it's for something else.

I would think this would be a common problem since pyproj is commonly used, but googling produced nothing helpful.

Thanks for any help.