I am writing a python extension module that needs to link with a third-party DLL. How can I copy this DLL to the site-packages directory using distutils (i.e. in my setup.py file)?
+1
A:
Put your DLL in the package_data
argument of your setup()
(see the Installing Package Data section of the distutils documentation for details).
If you need to put the DLL outside of the package directory , you can use the data_files
option. For example to put it in the site-packages
directory:
import distutils.sysconfig
setup(
# [...]
data_files = [(distutils.sysconfig.get_python_lib(), ["/path/to/the/DLL"])],
)
Luper Rouch
2010-05-12 20:27:22
@Luper, thanks. I want the DLL to get copied to the root level of site-packages, not into a package-specific subdirectory. Is there a way to do that using package_data?
Jason Sundram
2010-05-13 16:04:46
The `data_files` option lets you put files anywhere you like, see the section 2.7 of the documentation I linked.
Luper Rouch
2010-05-13 16:26:39