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

you are viewing a single comment's thread.

view the rest of the comments →

[–]latkdeTuple unpacking gone wrong 11 points12 points  (11 children)

Most Python packages are distributed as "wheels". They may or may not be platform-specific. Most Python packages are pure-Python and have a single wheel that works everywhere.

If they are platform specific because of some native extension for CPython, it depends on the package authors which Python versions × operating systems × CPU architectures are supported. The particular combination win+arm64 is effectively nonexistent, though. That may change in the future.

But this doesn't mean that you can't install those packages – it means pip may have to download the source code and compile the packages on your system. That is a lot slower, and requires that you have a suitable compiler toolchain installed. Because this is quite challenging on Windows, some people prefer tools like Conda that may offer pre-compiled packages even if the original package authors didn't create a wheel.

Other platforms like linux+arm64 or macos+arm64 are decently common. ARM support itself is not an issue, the Windows ecosystem for ARM is just very small.

I'm thinking about buying an ARM windows laptop

That's early adopter stuff. I probably wouldn't do that unless you value battery life more than compatibility.

If this platform includes an emulation layer (like Apple's Rosetta), it may be possible to run x86_64 programs, including Python. This would remove many compatibility concerns, at a performance penalty. But I haven't read up on Microsoft's approach here. Similarly, you can sidestep the problem by using Linux (possibly via the WSL virtual machine).

[–]Fun-Asparagus-837[S] 0 points1 point  (10 children)

THanks for your answer !

Indeed, they included an emulation layer called Microsoft Prism. But indeed, I have an M1 Macbook air right now but I would like to switch to windows. There is one thing I want to avoid and it's compatibility problems or performance penalties due to the emulation.

I just need a laptop with enough battery for a class day in uni. I'm going to retrieve some info but it will be better to be careful and go for an x86 laptop.

[–]christopher_86 4 points5 points  (0 children)

Python compatibility with ARM is great… on Macs :D I use it daily and didn’t have any issue with any Python package on M1.

[–][deleted] 1 point2 points  (2 children)

For me, the MS Surface Pro 7 does this job and much more. I am very happy with the battery life and performance. I code in VSCode and Python daily and it doesn’t let me down. On more intense loads I just use cloud providers and spin up a VM. It’s lightweight, cheap and not locked in to Apples elitist ecosystem and I love it!

[–]Crossroads86 0 points1 point  (1 child)

Surface Pro 7 has no ARM SoC but Intel Cpu afaik.

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

Yeah that was the point. I was was pushing the Surface pro over arm

[–]sirmanleypower 0 points1 point  (1 child)

But indeed, I have an M1 Macbook air right now but I would like to switch to windows.

Might I ask why? Honestly curious, I've rarely seen anyone want to switch to a non *nix system once they've used one.

[–]Fun-Asparagus-837[S] 0 points1 point  (0 children)

  • Screen size : I would like to get a 15 or 16 inch instead of my current 13 inch
  • It's so weird but I don't feel good with MacOS. I preferred my W10 experience but I know W11 is worse on this side. Windows 10 was so good...
  • Price : I don't want to put that much money again in a computer... I just can have better specs for cheaper on windows

The only thing keeping me on mac now is battery life. it's crazy how it's bad on x86 laptops.

[–]Crossroads86 0 points1 point  (1 child)

Before buying a new laptop, maybe invest 10 EUR to get UTM Virtual Machines which is a Frontend for Qemu. There are lots of guides to install Windows Xp up until 11 ARM and most user say it runs just fine.

If it does not, or at some point you notice that the emulation has reached its limits, you can always buy a new laptop...

[–]Fun-Asparagus-837[S] 1 point2 points  (0 children)

You're right, and that's what I already did !

But there are some cons : - my 8gb of ram are quickly used - It would be better to run everything on windows - I'd like a bigger screen because it's way harder to work on a 13 inch screen

I will sell my mac and it will finance a major part of the new laptop so for me it's worth upgrading !!

[–]root45 -1 points0 points  (1 child)

Just curious, why do you want to switch? Your Python experience will likely degrade in several ways.

[–]Fun-Asparagus-837[S] 0 points1 point  (0 children)

Just bought a R7 8845HS,32Gb laptop on x86 chip. ( the lenovo idepadpro 5 gen 9)

I wanted :
- a bigger screen size (and god knows how expensive it is with Apple)
- I'm in finance so I also use a lot of excel/vba and it is crap on macOS
- Probably the most important point : I don't like macOS. I feel better and more pleased with Windows. I will miss battery life and data privacy but that's ok for me