Closed jytime closed 1 week ago
This will only work if your remote cluster has the same disto as your local machine. If not, you need to build a manylinux wheel. For PyCOLMAP, we build manylinux2014 inside a Docker container with CentOS (this is managed by https://cibuildwheel.pypa.io). Your issue relates to Python packaging and isn't specific to PyCOLMAP.
Thanks for your prompt reply! I will check if cibuildwheel can work without docker, as docker is not allowed in my cluster. I would share it when I have an answer.
To clarify, Docker is required to build the wheel locally, not to install it on other machines.
Yes, unfortunately I think both my working cluster (AWS) and the remote machine (kaggle notebook) do not allow docker :(
The simplest solution we found is using github workflow, which is provided in colmap repository:
https://github.com/colmap/colmap/tree/main/.github/workflows
Basically people need to have their own colmap repository and a docker, then letting github compile all the stuffs in its cluster. This will require some costs but overall affordable.
Hi Paul,
Hope this question is within the scope. I have modified the source code of colmap and binded it by pycolmap. It works well in my local machine.
Now I was hoping to export the compiled pycolmap as a python wheel and use it in a remote cluster. I did this by
pip wheel . -w dist
under the path of colmap/pycolmap. The file tree structure is shown below.However, after installation, whenever I
import pycolmap
in the new environment, it tells meThis still happens even if I copied the original .so file and export it in
LD_LIBRARY_PATH
. So I guess I did something wrong when exporting the wheel. May I ask any suggestion on how to export our own python wheel? Did I miss anything?