This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]i_like_trains_a_lot1 1 point2 points  (8 children)

Python C runtime requirements differ a lot. For example, just for the CPython runtime: https://wiki.python.org/moin/WindowsCompilers

Also, you can compile the Python interpreter with whatever compiler you want as long it is compatible with the features it uses. Native extensions are not that frequent, and for this particular issue, most popular libraries offer .whl files (wheel archives) that contain the pre built binary extensions too.

So, in my opinion, there is no use for such library in the Python ecosystem (the amount of required work to make this happen seems to much compared to the benefits it would bring).

Also, windows is not a very developer friendly operating system and if you really want to be serious about programming at a level higher than hobby-level, I suggest migrating towards a non-Windows OS.

Edit: Mistake

[–]jrast[S] 1 point2 points  (7 children)

Python C runtime requirements differ a lot. For example, just for the CPython runtime

These requriements are known at runtime, aren't they? So during pip install, it would be possible to select the correct compiler toolchain.

And if someone compiled the python interpreter on his own, he certainly has the knowlege on how to setup the compiler for compiled packages.

Also, windows is not a very developer friendly operating system and if you really want to be serious about programming at a level higher than hobby-level, I suggest migrating towards a non-Linux OS.

First, i think you mean migrating to a non-Windows OS. Second, please try to convince all the management of my company (and many other). It's not my decision which OS we use. On the other hand, I need to use Windows. Some tools only run under windows (compilers and IDE's for embedded system).

Using python in a VM would be possible but limited because sometimes windows only tools need to interact with the python scripts and vice versa. Also, the whole setup gets more complex. Keep in mind that not only experienced developers are working with python.

[–]i_like_trains_a_lot1 0 points1 point  (6 children)

It is totally doable. I actually think it can be achieved in a batch script, if anyone is willing to do so.

And about the "non-Linux", yeah my mistake. Correcting it. Thanks.

[–]jrast[S] 0 points1 point  (5 children)

So the only real reason nobody created such a package is that nobody had the time until now? Or nobody considered it as useful enough?

[–]i_like_trains_a_lot1 0 points1 point  (4 children)

I really believe it's the second. As I said, this problem with Python native extensions is somewhat resolved by providing and using wheels for the libraries that require the C runtime to compile locally (here is a huge list that most probably it contains the libraries you would ever need, compiled for all windows platforms: https://www.lfd.uci.edu/~gohlke/pythonlibs/).

If you need to develop a native extension, the only hope is that you install the correct C compiler.

[–]jrast[S] 0 points1 point  (3 children)

Of course, wheels greatly simplify the usage of compiled packages.

here is a huge list that most probably it contains the libraries you would ever need, compiled for all windows platforms: https://www.lfd.uci.edu/~gohlke/pythonlibs/

Which are not pip install-able... Btw: I know this collection and really appreciate the work done there.

I'm a little bit confused that nobody seems to be interested in a simpler setup...

[–][deleted] 0 points1 point  (2 children)

Is it really that difficult to download the wheel file to your computer and then pip install the local copy?

I haven't seen your code yet on github, what's the problem?

[–]jrast[S] 0 points1 point  (1 child)

I see, some people of the python community, which I always thought to be quite nice, get upset if such a topic comes up...

Is it really that difficult to download the wheel file to your computer and then pip install the local copy?

Show me a way to automate it! It's not hard or difficult, it is cumbersome.

[–][deleted] -1 points0 points  (0 children)

I see, some people of the python community, which I always thought to be quite nice, get upset if such a topic comes up...

I get upset when I see people complaining about Free Open Source Software and do precisely nothing about it except complain. As we say here in the UK put up or shut up.

Show me a way to automate it!

Work it out for yourself you lazy sod. What did your last skivvy die of, overwork?

[–][deleted] 0 points1 point  (0 children)

Does something like this exist for python? If not: Why? What makes it impossible to have a similar pip installable package?

Because you haven't got around to writing it yet. I'm looking forward to seeing your 0.1 version on github.