2010/1/20 James William Pye <lists@jwp.name>:
> On Jan 20, 2010, at 12:27 PM, Magnus Hagander wrote:
>> Well, it needs the version to match it to the DLL name. For python
>> 2.6, it needs python26.dll. But yes, there should probably be some way
>> to ask python itself about that - that would be the non-naive method.
>> But as long as python is installed per default, we got it for free,
>> which is why it has "worked so far".
>
>
> [on tom's question]
> IIRC, the reason you can't query Python in the same way that configure/python.m4 does is because the generated
Makefilethat supports distutils.sysconfig does not exist in standard win32 builds. That is, AFAIK, there is no way to
requestthe exact path of the dll/lib file in win32. However, I'm not particularly familiar with Python on win32, so
thatmay not be the case.
>
>
> Given the absence of a more precise method, I'd recommend considering something along the lines of:
>
> Allow the user specify (config.pl?) the Python executable to build against and default to the python.exe in %PATH%.
(thismay already be the case, idk)
>
> Query Python for the version information and installation prefix.
>
> python -c 'import sys; print(str(sys.version_info[0]) + str(sys.version_info[1]))'
> python -c 'import sys; print(sys.prefix)'
>
> Assume that the prefix has a normal layout, and construct the lib path from the extracted version and prefix.
From what I can tell, it at least makes no assumptions worse than we
have now. I'm sure there are ways to break it :-), but I think there
are less than there are now.
I have applied a patch that does something like this.
-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/