At least for the ActiveState Python distribution, and in the official Python distribution:
https://docs.python.org/2/faq/windows.html#id7
The dll is in
C:WindowsSystemPythonNN.dll
where NN is the version number. On a 64-bit, a 32 bit dll will be installed here:
%SystemRoot%SysWoW64
and a running 32 bit application will magically translate this to the proper path, http://en.wikipedia.org/wiki/WoW64
When I link againsy Python27, I use the lib file here:
C:Python27libspython27.lib
It is somewhat disappointing that the dll gets put in system directories since it means that you can have only one 32 bit and one 64 bit distribution with the same version number.
Update:
Note that if you use the Anaconda or Miniconda Python distributions from Continuum Analytics (http://continuum.io), they are much more portable in the sense they package the dll along with the rest of the files in the installation.
I deploy Python via source control so can’t rely on
C:WindowsSystemPythonNN.dll
To resolve this, I install Python using the msi package and copy the dll into the same directory as the python.exe. I then commit the python folder to source control for our teams to use. Finally, I uninstall Python from my local machine to ensure a clean environment.
I have not noticed an issue with doing this over the past 7 years but would love to learn more about any caveats using this approach.