![]() ![]() I mean it's entirely fine, at least that's what the company decided. Well, that could be because unbeknownst to you, whenever you yourself developed, updated, and ran your program, there was always this tiny dependency of a dependency that needs it - you just didn't know about it until this issue report, because your system already had Node and npm set up correctly. "Huh, why does the user report a problem with npm when installing my Python application?". It will refuse to work on your users' system, until they have the correct rubyenv, and autoconf version, and npm. So many projects and libraries in Python World have taken the latter approach, resulting in so many Python applications being a cobbled-together Frankenstein diva. Whereas, the moment you or one of your dependencies delegate to other environments, your program inherits and requires additional environments. That's the whole point: when developing in programming language XYZ, then stay within XYZ's environment: As much as possible, implement stuff by writing in XYZ, and import other stuff following this principle. > If your project were □□□□ c or rust, you would still have to build everything. > You are choosing to use a c/rust accelerated library.Įspecially with something as fundamental as `cryptography`, I don't choose it - it is a given through transitive transitive dependencies. I meant: "Python * has by far the most platform-dependent, brittle programming environment". Python is by far the most platform-dependent, brittle programming environment, and the prime example that the "interpreted languages run everywhere!" trope is increasingly dead. Will you upload wheels for my non-x86 non-ARM64 CPU architecture? ![]() I’m getting errors installing or importing cryptography on AWS Lambda Installing cryptography fails with error: Can not find Rust compiler ![]() cryptography raised an InternalError and I’m not sure what to do? Installing cryptography produces a fatal error: 'openssl/opensslv.h' file not found error I cannot suppress the deprecation warning that cryptography emits on import The cherry on top: visiting the landing page, a Python outsider wouldn't be able to tell that this is for Python.Ī full text search for "python" reveals only a single match hidden at the bottom within the FAQs section ironically within the context "Why are there no wheels for my Python3.x version?". But once it gets more complicated with different toolchains and compatibility problems (and it usually does if you have an RTOS), it sure is nice to have something like Platformio. I know exactly what code is being built, and, because I usually have to write the linker script, where it is being put. o files littered around like mouse droppings. With only a little work, it's possible to make clean build directories without. And I don't have to manually install separate toolchains to /opt (or wherever) and keep track of them it 'just works.' ![]() Platformio is written in Python to handle all of that 'seamlessly' and it does work pretty well from my perspective. Keeping track of which source files were to be enabled and disabled in the makefile was also annoying.Īnother project I am working on uses platformio on an RTOS (and a much bigger micro). That was fine, but ensuring that the versions of the hardware abstraction layer, and other drivers I wanted to use from the same vendor was a source of annoyance. I had one embedded project that I handrolled the makefile for, and it was all in pure C, no OS. And, hardware vendor code is usually bad. Embedded projects can be more complicated to build than the Linux kernel in two respects: Embedded projects are usually cross-compiled whereas, one is ordinarily building the Linux kernel for that machine or one like it. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |