I'm using Python 2.6 and cx_Freeze 4.1.2 on a Windows system. I've created the setup.py to build my executable and everything works fine.
When cx_Freeze runs, it moves everything to the build
directory. I have some other files that I would like included in my build
directory. How can I do this? Here's my structure:
src\ setup.py janitor.py README.txt CHNAGELOG.txt helpers\ uncompress\ unRAR.exe unzip.exe
Here's my snippet:
setup
( name='Janitor', version='1.0', description='Janitor', author='John Doe', author_email='[email protected]', url='http://www.this-page-intentionally-left-blank.org/', data_files = [ ('helpers\uncompress', ['helpers\uncompress\unzip.exe']), ('helpers\uncompress', ['helpers\uncompress\unRAR.exe']), ('', ['README.txt']) ], executables = [ Executable\ ( 'janitor.py', #initScript ) ] )
I can't seem to get this to work. Do I need a MANIFEST.in
file?
Figured it out.
from cx_Freeze import setup,Executable includefiles = ['README.txt', 'CHANGELOG.txt', 'helpers\uncompress\unRAR.exe', , 'helpers\uncompress\unzip.exe'] includes = [] excludes = ['Tkinter'] packages = ['do','khh'] setup( name = 'myapp', version = '0.1', description = 'A general enhancement utility', author = 'lenin', author_email = '[email protected]', options = {'build_exe': {'includes':includes,'excludes':excludes,'packages':packages,'include_files':includefiles}}, executables = [Executable('janitor.py')] )
Note:
include_files
must contain "only" relative paths to the setup.py
script else the build will fail.include_files
can be a list of string i.e a bunch of files with their relative pathsinclude_files
can be a list of tuples in which the first half of the tuple is the file name with the absolute path and the second half is the destination filename with the absolute path.(When the lack of the documentation arises, consult Kermit the Frog)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With