-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FBThrift 'py3' support needed: No module named 'openr.thrift' #72
Comments
breeze (and OpenR components) all use fbthrift (fork of Apache thrift) to communicate. I believe these modules are missing as we’re not building the ‘py3’ thrift language client libraries and structures. These are a little more involved as they are Cython libraries linked to the C++ libraries. I haven’t yet, but need to workout how to get these building in OSS world. We could see if we can just add thrift compiler to use ‘py3’ as well, but I feel we’ll need cpp2 first for py3 to build. |
I also see the same problem with making breeze operational. Thrift python libraries are not built, and trying to manually build them for the thrift repo is not working as the setup script requires specific built files to be in a specific folder within the trift repo (old way was all deps were in /build directory of openr and actually being installed, so the setup.py was working). When trying to run the thrift setup.py file, python cannot find module X ( where X was trift, then its dependency fb303, then neteng etc). Please provide an integrated solution for breeze to be operational through your install scripts. |
I have attempted to do exactly this and the problem is much deeper. Some of my work can be seen in this branch: https://github.com/facebook/openr/tree/breeze_docker I will try find cycles again some day soon, but without FB Thrift teams help, it's going to need to be very hacky. I want this for my home OpenR install, but may end up writing a lightweight non thrift |
I have managed in the past to get fbthrift to compile the python modules as well. (it was with the Release Candidate 20191208-10906 codebase). It needed to find the python-six package during configuration of cmake and then you were able to run the related setup.py to build and install also the related python wrappers. cmake -Dpython-six_DIR=/opt/python-six/python-six-Q8Be2n47Opv-n5B-m-qxwvUlULZRCVNgM-AharcWT7Q/lib/cmake/python-six/ -DBUILD_SHARED_LIBS=ON ../ |
Ok, we have thrift py3 modules compiling in the Docker container - Just a few more install placements for the thrift files ans we should have breeze workable in Docker. We can then use these learning to try make this more friendly and widely usable. |
Issue Description
Hi, I've build openr on my machine according the README. After
openr/py
installed, the breeze command throws several module not found error like:It seems some python modules for py3 part is missing and I have no clue where is
openr.thrift
module and likeopenr.thrift.OpenrCtrlCpp.clients
?Can someone give me some hints to fix so that maybe I can contribute.
Environment
master
Minimal test code / Steps to reproduce the issue
After built, run any breeze cmd
What's the actual result?
throws module not found error
What's the expected result?
no module issues.
The text was updated successfully, but these errors were encountered: