marius-team / marius

Large scale graph learning on a single machine.
https://marius-project.org
Apache License 2.0
160 stars 45 forks source link

ImportError when import marius #134

Open SwiftCrown opened 1 year ago

SwiftCrown commented 1 year ago

After run pip3 install . , I wanted to try python api using import marius. An ImportError has occurred.

>>> import marius Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages/marius/__init__.py", line 12, in <module> from . import _config as config ImportError: cannot import name '_config' from 'marius' (/home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages/marius/__init__.py)

My build environment:

cmake: version: 3.22.1 cpu_info: num_cpus: 96 total_memory: 503GB cuda: version: '11.6' gpu_info:

Build Message:

Processing /home/jialei/marius Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting omegaconf>=2.2 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e3/94/1843518e420fa3ed6919835845df698c7e27e183cb997394e4a670973a65/omegaconf-2.3.0-py3-none-any.whl (79 kB) Collecting GPUtil>=1.4 Using cached GPUtil-1.4.0-py3-none-any.whl Collecting pandas>=1.1 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/3e/0c/23764c4635dcb0a784a787498d56847b90ebf974e65f4ab4053a5d97b1a5/pandas-1.3.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB) Requirement already satisfied: numpy>=1.2 in /home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages (from marius==0.0.2) (1.21.5) Collecting importlib-metadata>=4.0.0 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/26/a7/9da7d5b23fc98ab3d424ac2c65613d63c1f401efb84ad50f2fa27b2caab4/importlib_metadata-6.0.0-py3-none-any.whl (21 kB) Requirement already satisfied: torch>=1.7.1 in /home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages (from marius==0.0.2) (1.13.1) Collecting psutil>=5.9 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/6e/c8/784968329c1c67c28cce91991ef9af8a8913aa5a3399a6a8954b1380572f/psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (280 kB) Requirement already satisfied: typing-extensions>=3.6.4 in /home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages (from importlib-metadata>=4.0.0->marius==0.0.2) (4.4.0) Collecting zipp>=0.5 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/a8/7d/90189265f0a9bcdf79b1143b77b0ef6dca0a5f13783f1e1efa4d7d7eafca/zipp-3.14.0-py3-none-any.whl (6.7 kB) Collecting antlr4-python3-runtime==4.9.* Using cached antlr4_python3_runtime-4.9.3-py3-none-any.whl Collecting PyYAML>=5.1.0 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/eb/5f/6e6fe6904e1a9c67bc2ca5629a69e7a5a0b17f079da838bab98a1e548b25/PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (596 kB) Collecting python-dateutil>=2.7.3 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) Collecting pytz>=2017.3 Using cached https://pypi.tuna.tsinghua.edu.cn/packages/2e/09/fbd3c46dce130958ee8e0090f910f1fe39e502cc5ba0aadca1e8a2b932e5/pytz-2022.7.1-py2.py3-none-any.whl (499 kB) Requirement already satisfied: six>=1.5 in /home/jialei/anaconda3/envs/marius/lib/python3.7/site-packages (from python-dateutil>=2.7.3->pandas>=1.1->marius==0.0.2) (1.16.0) Building wheels for collected packages: marius Building wheel for marius (pyproject.toml) ... done Created wheel for marius: filename=marius-0.0.2-cp37-cp37m-linux_x86_64.whl size=2153090 sha256=b929b1af24b7fb9e391ccbe1d5aad53ac6adfa61cb311a8a2288da744e529e62 Stored in directory: /tmp/pip-ephem-wheel-cache-yzouuvt0/wheels/04/4e/6a/002a8e1fe0fc49070361ffa1d6b0a53119e347a6196ea428f6 Successfully built marius Installing collected packages: pytz, GPUtil, antlr4-python3-runtime, zipp, PyYAML, python-dateutil, psutil, pandas, omegaconf, importlib-metadata, marius Successfully installed GPUtil-1.4.0 PyYAML-6.0 antlr4-python3-runtime-4.9.3 importlib-metadata-6.0.0 marius-0.0.2 omegaconf-2.3.0 pandas-1.3.5 psutil-5.9.4 python-dateutil-2.8.2 pytz-2022.7.1 zipp-3.14.0

rogerwaleffe commented 1 year ago

Thanks for your question!

This is a bit of an interesting issue given that the build succeeds but then the import fails. It is possibly due to a torch versioning issue (we had some similar issues in the past but thought they had been fixed).

Jason or I will try to replicate this issue and get back to you here.

Did this problem occur on the main branch?

SwiftCrown commented 1 year ago

Thank you for reply, branch is 'origin/main'

And the ubuntu version is 22.04 and gcc version is 10.4.0.

This is from python3.7/site-packages/marius and I feel like something is missing. __pycache__ console_scripts distribution tools __init__.py _config.cpython-310-x86_64-linux-gnu.so _data.cpython-310-x86_64-linux-gnu.so _manager.cpython-310-x86_64-linux-gnu.so _nn.cpython-310-x86_64-linux-gnu.so _pipeline.cpython-310-x86_64-linux-gnu.so _report.cpython-310-x86_64-linux-gnu.so _storage.cpython-310-x86_64-linux-gnu.so libmarius.so

We are currently using a docker environment and it seems to be working fine.

fucker-cracker commented 1 year ago

I got the same question(the command "pip3 install ." succeed, while "marius_preprocess --dataset fb15k_237 --output_directory datasets/fb15k_237_example" failed), and here is the isssue: "ImportError: cannot import name '_config' from 'marius' (/usr/local/lib/python3.7/site-packages/marius/init.py)"