[Distutils] pywin32 egg?
Phillip J. Eby
pje at telecommunity.com
Tue Jul 10 02:46:48 CEST 2007
At 08:49 AM 7/10/2007 +1000, Mark Hammond wrote:
>hrm - normally lib_dir is pointing at site-packages - ie, the parent of
>'win32', 'win32com' etc - whereas the code above would give
>site-packages\win32.
Ah. Well, in the egg case, there is no win32 directory, nor
win32/lib subdirectory thereof; everything that's not a package just
goes right into the site-packages\pywin32-210-py2.4-win32.egg directory.
If you'd like to see what's happening, download
http://peak.telecommunity.com/dist/ez_setup.py and run:
ez_setup.py pywin32
or alternately, install the Windows installer for setuptools, then
run "python -m easy_install pywin32".
At that point, you'll be able to see the site-packages layout the way
it ends up under setuptools. If setuptools' directory layout is
wrong in some way, let me know and I'll see what I can do.
> > Is there anything I can do to verify that this did in fact
> > work correctly?
>
>Simplest would be to paste the following 2 lines into a file:
>
>set py = CreateObject("Python.Interpreter")
>WScript.Echo("1+1=" & py.Eval("1+1"))
>
>then execute:
>cscript.exe //E:VBScript filename
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
C:\...\testfile(1, 1) (null): The specified module could not be found.
>You probably would have only lost the ability to implement COM objects -
>consuming them should be fine. You don't get the help file registered where
>pythonwin can find it and don't get a bogus .pth file <wink>, but that is
>about it.
As it happens, the bogus .pth file gets installed inside of the
pywin32*.egg directory, so it doesn't actually get read by
Python. By design, easy_install wants everything for a package to be
contained in its .egg, and refuses to put anything outside of it
except wrapper scripts and a .pth file to put the .egg on sys.path.
More information about the Distutils-SIG
mailing list