![]() ![]() There are three things that must match: python version, bit version, and compiler version. How can this be avoided? If only my UV tools had their own discrete python environment then the numpy modules which they needed would be unaffected by the matplotlib install. A virtual environment is a simple way to enforce that contract and ensure that its dependencies are always what my project expects. That's a lot of debugging for a toolset that has been working perfectly for a year! ![]() The problem is, if numpy changed its interface or I/O at all in the past year, then my UV tools could now be broken. Numpy is one of matplotlib's dependencies, so the setup will auto-update numpy to the version which matplotlib says it needs. Then, a year later, I want to do some unrelated data visualization so I pip install matplotlib. For example, say I have some Maya UV tools which I built using numpy. When doing python development, I need an explicit contract between my project and the libraries/modules it depends on. Despite the memery, I think it's worth remembering that the ability to have lots of python environments and seemingly duplicate libraries on a single machine is a very intentional feature.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |