Ok, I've looked over the documentation, but it seems to be a little
less helpful than I would like, so maybe someone can show me what I'm
doing wrong.

It might have to do with the fact that I'm adding a folder to the
path. I've tried to make cxFreeze aware of the path, but it still
fails.

I've got an application (ExpoSong if you'd like to look it up). Here's the setup

== setup_cx.py ==
import glob
import os
from cx_Freeze import setup, Executable

data_files = []

# Add images
data_files.append(('share/exposong/images/',
                   glob.glob('share/exposong/res/*.png')))

# Add translations
for filepath in glob.glob('share/exposong/i18n/*/LC_MESSAGES/exposong.mo'):
    data_files.append((filepath.replace('LC_MESSAGES/exposong.mo', ''),
                       [filepath]))

# Add help files
data_files.append(('share/exposong/help/', ['help/es.png', 'help/style.css']))
for filepath in glob.glob('help/*/index.html'):
    data_files.append((os.path.join(
        'share/exposong',filepath.rstrip('index.html')), [filepath]))

setup(name='ExpoSong',
    version='0.7',
    url='http://www.exposong.org/',
    license='GPLv3',
    scripts = ['bin/exposong'],
    executables = [Executable(
        script='bin/exposong',
        path=['share/exposong/lib/'],
        packages=['exposong','exposong.plugins'],
        )],
    package_dir = {'': 'share/exposong/lib'},
    packages=['exposong', 'exposong.plugins'],
    data_files = data_files,
    )
==END==

My main program goes and starts the program:

==bin/exposong==
import sys
from os.path import dirname, join, pardir, abspath, exists
import os

try:
  if exists(join(dirname(__file__), pardir, 'share', 'exposong', 'lib')):
    sys.path.insert(0, join(dirname(__file__), pardir, 'share', 'exposong',
        'lib'))
except NameError:
  #sys.path.insert(0, join('share', 'exposong',
  #    'lib'))
  #print os.curdir
  pass

import exposong
exposong.run()
==END==

But, when I run `python setup_cx.py build`, it doesn't find the
exposong package, even though I specify it in the packages variable
for Executable(), and package_dir variable in setup().

When I try to do `python setup_cx.py build_exe`, it gives me these errors:
###ERRORS###
#> \Python26\python.exe setup_cx.py build_exe
Traceback (most recent call last):
  File "setup_cx.py", line 66, in <module>
    data_files = data_files,
  File "C:\Python26\lib\site-packages\cx_Freeze\dist.py", line 350, in setup
    distutils.core.setup(**attrs)
  File "C:\Python26\lib\distutils\core.py", line 138, in setup
    ok = dist.parse_command_line()
  File "C:\Python26\lib\distutils\dist.py", line 460, in parse_command_line
    args = self._parse_command_opts(parser, args)
  File "C:\Python26\lib\distutils\dist.py", line 559, in _parse_command_opts
    (args, opts) = parser.getopt(args[1:])
  File "C:\Python26\lib\distutils\fancy_getopt.py", line 254, in getopt
    self._grok_option_table()
  File "C:\Python26\lib\distutils\fancy_getopt.py", line 166, in
_grok_option_table
    raise ValueError, "invalid option tuple: %r" % (option,)
ValueError: invalid option tuple: ('namespace-packages=',
'comma-separated list of namespace packages to include')
###END###

Note that I'm using Python2.6 on Windows 7. Sorry for such a long
email, hopefully someone can help me.

-- 
Thanks,
Brad Landis

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
cx-freeze-users mailing list
cx-freeze-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users

Reply via email to