Skip to content

RuntimeError: Ninja is required to load C++ extension #167

Closed
@lilingge

Description

@lilingge

Hi,author. I have followed the instructions on your page. I got your code by git clone, and run "python setup.py install" with no errors. However when I run "python3 demo.py", I got the error like this:

Traceback (most recent call last):
File "/home/llg/.local/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 873, in verify_ninja_availability
subprocess.check_call('ninja --version'.split(), stdout=devnull)
File "/usr/lib/python3.5/subprocess.py", line 576, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python3.5/subprocess.py", line 557, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/lib/python3.5/subprocess.py", line 947, in init
restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'ninja'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "1.py", line 2, in
import encoding
File "/home/llg/Documents/PyTorch-Encoding/encoding/init.py", line 13, in
from . import nn, functions, parallel, utils, models, datasets, transforms
File "/home/llg/Documents/PyTorch-Encoding/encoding/nn/init.py", line 12, in
from .encoding import *
File "/home/llg/Documents/PyTorch-Encoding/encoding/nn/encoding.py", line 18, in
from ..functions import scaled_l2, aggregate, pairwise_cosine
File "/home/llg/Documents/PyTorch-Encoding/encoding/functions/init.py", line 2, in
from .encoding import *
File "/home/llg/Documents/PyTorch-Encoding/encoding/functions/encoding.py", line 14, in
from .. import lib
File "/home/llg/Documents/PyTorch-Encoding/encoding/lib/init.py", line 15, in
], build_directory=cpu_path, verbose=False)
File "/home/llg/.local/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 645, in load
is_python_module)
File "/home/llg/.local/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 814, in _jit_compile
with_cuda=with_cuda)
File "/home/llg/.local/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 837, in _write_ninja_file_and_build
verify_ninja_availability()
File "/home/llg/.local/lib/python3.5/site-packages/torch/utils/cpp_extension.py", line 875, in verify_ninja_availability
raise RuntimeError("Ninja is required to load C++ extensions")
RuntimeError: Ninja is required to load C++ extension

How to overcome it? What's the "Ninja"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions