Hi,

I have just released cx_Freeze 4.2.2 and in there I have removed the
import of setuptools since I don't use it myself and anyone who does
use it can simply perform the import themselves. Hopefully that
doesn't have any unintended consequences! :-)

Anthony

On Wed, Dec 15, 2010 at 5:42 AM, Florian Berger
<[email protected]> wrote:
> Hi list,
>
> the import of setuptools in cx_Freeze/dist.py breaks options of
> setup.py commands.
>
>
> Steps to reproduce
> ------------------
>
> Create a module 'test.py':
>        ------------------------------
>        class testclass:
>            pass
>
>        def testfunc():
>            pass
>        ------------------------------
>
> Create 'setup.py':
>        ------------------------------
>        import cx_Freeze
>
>        cx_Freeze.setup(name='test',
>                        version='1.0',
>                        author = "me",
>                        author_email = "None",
>                        url = "None",
>                        py_modules=['test'])
>        ------------------------------
>
> Run
>        $ python3 setup.py sdist --force-manifest
>
>
> Actual behaviour
> ----------------
>
> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>   or: setup.py --help [cmd1 cmd2 ...]
>   or: setup.py --help-commands
>   or: setup.py cmd --help
>
> error: option --force-manifest not recognized
>
>
> Expected behaviour
> ------------------
>
> The script should run as if distutils.core had been imported instead of
> cx_Freeze, i.e. transparently handle the case without an error:
>
> running sdist
> running check
> warning: sdist: manifest template 'MANIFEST.in' does not exist (using
> default file list)
>
> warning: sdist: standard file not found: should have one of README,
> README.txt
>
> writing manifest file 'MANIFEST'
> creating test-1.0
> making hard links in test-1.0...
> hard linking setup.py -> test-1.0
> hard linking test.py -> test-1.0
> Creating tar archive
> removing 'test-1.0' (and everything under it)
>
>
> Cause
> -----
>
> The import of setuptools in cx_Freeze/dist.py somehow changes the
> internals of distutils commands:
>
> dist.py:
>        ------------------------------
>        try:
>            import setuptools
>        except ImportError:
>            pass
>        ------------------------------
>
>
> Temporary fix
> -------------
>
> Commenting the lines above, i.e.preventing the setuptools import, fixes
> the problem. setup.py runs as expected now.
>
> This should probably be replaced by a conditional import of
> setuptools where it is required.
>
>
> Versions affected
> -----------------
>
> Tested:
>
> Python 3.1.2 (Linux, win32)
> cx_Freeze 4.1.2
> cx_Freeze 4.2.1
>
>
> Regards,
>        Florian
>
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how
> to connect the dots, take your collaborative environment
> to the next level, and enter the era of Social Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> cx-freeze-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cx-freeze-users
>

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
cx-freeze-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users

Reply via email to