How to install Python package from source on Windows
Christian Gollwitzer
auriocus at gmx.de
Sun May 21 07:17:35 EDT 2017
Am 21.05.17 um 12:23 schrieb bartc:
> On 20/05/2017 19:37, Chris Angelico wrote:
>
>> rosuav at sikorsky:~/linux$ find -name \*.c -or -name \*.h | wc -l
>> 44546
>>
>> These repositories, by the way, correspond to git URLs
>> https://github.com/python/cpython,
>> git://pike-git.lysator.liu.se/pike.git,
>> git://source.winehq.org/git/wine, and
>> https://github.com/torvalds/linux respectively, if you want to check
>> my numbers. Two language interpreters, a popular execution subsystem,
>> and an OS kernel.
>>
>> I'd like to see you create a single-file version of the Linux kernel
>> that compiles flawlessly on any modern compiler and has no configure
>> script.
>
> I've had a look at the Linux stuff. (BTW, when copying to Windows, the
> file "aux" occurs several times, which causes problems as it's a
> reserved filename I think. Also there were a dozen conflicts where
> different versions of the same file wanted to be stored at the same
> location.)
>
> So, it /is/ big: 24000 .c files, 19000 .h files, out of 59000 total.
> (And 12000 directories, but I think that includes multiple "." and ".."
> instances, so probably 'only' about 4000.)
>
> However, I assume then when it is at some point compiled to binary, that
> a single image file results.
>
No, it doesn't, at least not necessarily. The Linux kernel includes all
of the device drivers that are supported by Linux. This is the main
reason that it is such a big project. These device drivers can either be
linked statically into the kernel, which makes sense for all stuff which
is needed during the boot process, or on embedded systems, or compiled
into kernel modules, kind of "dynamic libraries" of the kernel, which it
loads/unloads at runtime.
> An attempt to create a single source file would result in a
> representation somewhere between those two points. But it sounds like it
> wouldn't be possible, or practical, to have a single source that works
> for every possible target;
It is most definitely not. Linux runs on a large diversity of platforms.
It has an elaborate build process, wicth a GUI to configure all the
compile options. Probably no human would be able to set them to a
reasonable value without the help of thsi software.
Christian
More information about the Python-list
mailing list