Giter Site home page Giter Site logo

Comments (3)

marktsuchida avatar marktsuchida commented on September 3, 2024

This has to do with the lax model used by PyPI packages to distribute the MSVC C++ standard library: packages that require it are recommended to do so, but there's a problem: the first msvcp140.dll that happens to get loaded stays. So it should be possible to get import-order-dependent problems. (Conda should not have problems like this, at least in theory.)

Because we use GitHub actions to build pymmcore, it's probably built against the latest C++ runtime. If PyQt5 is shipping an older one, then in theory it could be incompatible (though in practice I'm a little surprised, since we should not be using anything that depends on the latest C++ features).

We do not currently ship the C++ runtime with pymmcore. My thinking here was that anybody running pymmcore on Windows has run the Micro-Manager installer, which has installed (some version of) it on the system. But perhaps we need to think about this again. Alternatively we can try and see if we can build pymmcore against a slightly older MSVC (such as 2019), so that the chances of encountering an older runtime is very low.

Of course, this is theoretical -- I suppose it's possible that some other cause is at play here.

from pymmcore.

tlambert03 avatar tlambert03 commented on September 3, 2024

ah very useful. So do you think the only thing that might have changed between 11.1.1.71.1 and 11.1.1.71.0 is just the actions runner image?

from pymmcore.

marktsuchida avatar marktsuchida commented on September 3, 2024

just the actions runner image?

Yes, and VS2022's C++ had a "minor version increment" between our two last releases, although I have no idea if that was the exact reason.

from pymmcore.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.