Building Py2Exe from source

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Kylotan

    Building Py2Exe from source

    I need to be able to build Py2Exe from the source code as I am making
    a Windows executable where I wish to preprocess the modules before
    importing them.It looks like I can do this by adding lines to
    Load_Module() in py2exe's start.c. However problem I have is that I
    can't build Py2Exe using the instructions provided. Using the
    designated command of "python setup.py install" I get this error:


    Traceback (most recent call last):
    File "setup.py", line 340, in ?
    raise RuntimeError, msg
    RuntimeError: PYWIN32DIR invalid.

    To build py2exe from source, you must either:

    - Download and build Mark Hammond's pywin32 source code
    from http://starship.python.net/crew/mhammond, and set
    the PYWIN32DIR variable to point to this directory

    - or change this setup script to not build run_svc target,
    then you will not be able to build Windows NT services
    with py2exe.


    The main problem I encountered is that the 2nd option appears
    misleading: removing run_svc from the list of targets does no good as
    it still attempts to find some sort of "win32" directory before it
    even gets that far. Or maybe I'm missing something.

    If option 1 requires following these arduous-looking instructions:
    <http://starship.python .net/crew/mhammond/win32/BuildingExtensi ons.html>
    then I'd rather bypass that if at all possible. :) I only need to
    build standard executables, not DLLs, NT services, or anything to do
    with COM.

    Any help getting around this problem would be much appreciated.

    (Platform: Win98SE, Python 2.3.3.)

    --
    Ben Sizer
  • Thomas Heller

    #2
    Re: Building Py2Exe from source

    kylotan@hotmail .com (Kylotan) writes:
    [color=blue]
    > I need to be able to build Py2Exe from the source code as I am making
    > a Windows executable where I wish to preprocess the modules before
    > importing them.[/color]

    Hm, is this really a good idea? py2exe includes the .pyc (or .pyo)
    files, not the sources itself. Can't you preprocess them while building
    the exe? This way you would only have to hack python-code, not C code...
    [color=blue]
    > It looks like I can do this by adding lines to
    > Load_Module() in py2exe's start.c. However problem I have is that I
    > can't build Py2Exe using the instructions provided. Using the
    > designated command of "python setup.py install" I get this error:
    >
    >
    > Traceback (most recent call last):
    > File "setup.py", line 340, in ?
    > raise RuntimeError, msg
    > RuntimeError: PYWIN32DIR invalid.
    >
    > To build py2exe from source, you must either:
    >
    > - Download and build Mark Hammond's pywin32 source code
    > from http://starship.python.net/crew/mhammond, and set
    > the PYWIN32DIR variable to point to this directory
    >
    > - or change this setup script to not build run_svc target,
    > then you will not be able to build Windows NT services
    > with py2exe.
    >
    >
    > The main problem I encountered is that the 2nd option appears
    > misleading: removing run_svc from the list of targets does no good as
    > it still attempts to find some sort of "win32" directory before it
    > even gets that far. Or maybe I'm missing something.[/color]

    You *should* be able to hack the py2exe setup-script to do this, only
    removing run_svc from the list is certainly not enough.
    [color=blue]
    > Any help getting around this problem would be much appreciated.
    >
    > (Platform: Win98SE, Python 2.3.3.)[/color]

    Normally I would recommend the upcoming py2exe 0.5 for this, although it
    does not yet run on Win98, but I'm working on it.

    Thomas

    Comment

    • Kylotan

      #3
      Re: Building Py2Exe from source

      Thomas Heller <theller@python .net> wrote in message news:<oetrl17w. fsf@python.net> ...[color=blue]
      > kylotan@hotmail .com (Kylotan) writes:
      >[color=green]
      > > I need to be able to build Py2Exe from the source code as I am making
      > > a Windows executable where I wish to preprocess the modules before
      > > importing them.[/color]
      >
      > Hm, is this really a good idea? py2exe includes the .pyc (or .pyo)
      > files, not the sources itself. Can't you preprocess them while building
      > the exe? This way you would only have to hack python-code, not C code...[/color]

      One of my requirements is encryption of the pyc files. (I need -some-
      degree of basic protection against decompyle and the like.) The file
      in the archive needs to be encrypted and only decrypted when it comes
      to be imported. This looks like only being about 3 or 4 lines of extra
      C code (given a standalone encryption library) if put in the correct
      place.
      [color=blue]
      > You *should* be able to hack the py2exe setup-script to do this, only
      > removing run_svc from the list is certainly not enough.[/color]

      Sadly Python is my 2nd language, and these distutils scripts in
      general are possibly the most complex (or at least idiosyncratic) code
      that I've seen. I understand very little of it. :) And wouldn't know
      where to start altering it.
      [color=blue]
      > Normally I would recommend the upcoming py2exe 0.5 for this, although it
      > does not yet run on Win98, but I'm working on it.[/color]

      Ok. I don't need to do this urgently, but Win98SE is going to be both
      a key development and deployment platform for me.

      --
      Ben Sizer

      Comment

      Working...