nannafudge / pyfbx

Pure python FBX parsing library. No bindings, no external dependencies, no DLLs.
MIT License
43 stars 8 forks source link

Attempting to install via pip gives errors about sip #2

Open gmeader opened 2 years ago

gmeader commented 2 years ago

Collecting py-fbx Using cached py_fbx-0.1.1-py3-none-any.whl (2.9 MB) Requirement already satisfied: setuptools>=38.3 in c:\users\miker\pycharmprojects\fbx\venv\lib\site-packages (from py-fbx) (57.0.0)

ERROR: Could not find a version that satisfies the requirement sip==4.19.7 (from py-fbx) (from versions: 5.0.0, 5.0.1, 5.1.0, 5.1.1, 5.1.2, 5.2.0, 5.3.0, 5.4.0, 5.5.0, 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.1.0, 6.1.1, 6.2.0, 6.3.0, 6.3.1, 6.4.0, 6.5.0) ERROR: No matching distribution found for sip==4.19.7

japherwocky commented 2 years ago

I ran into this also actually, but note that you are trying to install py-fbx, and this is pyfbx!

nannafudge commented 2 years ago

Hi @gmeader,

py-fbx was originally launched as a prepacked version of the Filmbox python wrapper for the Autodesk C++ FBX SDK. Autodesk use SIP to provide the Python -> C++ bindings in the library. The only version of SIP I found that worked with the C++ SDK at the time was 4.19.7, and it seems like support for 4.19.7 only extends to Python 3.7. Because its compiled python with C++ bindings, it's not compatible with a newer python version unless somebody goes back and rebuilds the project for 3.8/3.9++. If you try using a version of Python from 3.7 it should work.

Also, just to note, the implementation on PyPi is only applicable to Win32 machines.

Some Context for pyfbx

As of now, there is no implementation of this repository packaged and deployed to PyPi. The goal of this repository is to transpile the C++ api into pure python so that constant differing versions need not be maintained for different architectures, and to provide pythonic interfaces to the FBX SDK.

The pure python project in its current state isn't functional or ready to be deployed to PyPi. Unfortunately I haven't had much time to work on the project. I haven't yet decided where the project is going from a personal standpoint, but anyone who would like to fork is welcome to do so.

As it stands so far, the code is able to correctly deserialize 64bit FBX binaries, and there are unit tests for the serialization portion which functions as intended. As I was testing I came to realize that there are many more structures within the Filmbox format that I hadn't accounted for, so I started implementing those, but there is a lot more work needed to realize it.

I'm not sure how active I will be, so please feel free to fork as stated above! If there's enough demand/interest from people, I can try to put some time aside to work further on pyfbx.

Thanks!

tetsuoanimation commented 1 year ago

Check out this thread and link - someone compiled it for python 3.9 and python 3.10 - this might help you with the pip version: ( And me who loves a more pythonic approach to fbx ;) )

https://forums.autodesk.com/t5/fbx-forum/fbx-python-sdk-for-python-3-9/td-p/11459327