question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[BUG] Cannot install `nvtabular` using `pip`

See original GitHub issue

Describe the bug pip install nvtabular raises an error: protoc not found.

Error code

>> pip install nvtabular
Collecting nvtabular
  Using cached nvtabular-0.6.1.tar.gz (227 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: pyarrow>=1.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (5.0.0)
Requirement already satisfied: numba>=0.53.1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (0.53.1)
Requirement already satisfied: dask==2021.4.1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (2021.4.1)
Requirement already satisfied: tqdm>=4.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (4.62.1)
Requirement already satisfied: PyYAML>=5.3 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (5.4.1)
Requirement already satisfied: distributed==2021.4.1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (2021.4.1)
Requirement already satisfied: pandas<1.3.0dev0,>=1.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from nvtabular) (1.1.5)
Requirement already satisfied: fsspec>=0.6.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from dask==2021.4.1->nvtabular) (2021.7.0)
Requirement already satisfied: partd>=0.3.10 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from dask==2021.4.1->nvtabular) (1.2.0)
Requirement already satisfied: cloudpickle>=1.1.1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from dask==2021.4.1->nvtabular) (1.6.0)
Requirement already satisfied: toolz>=0.8.2 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from dask==2021.4.1->nvtabular) (0.11.1)
Requirement already satisfied: setuptools in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (52.0.0.post20210125)
Requirement already satisfied: msgpack>=0.6.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (1.0.2)
Requirement already satisfied: zict>=0.1.3 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (2.0.0)
Requirement already satisfied: tornado>=5 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (6.1)
Requirement already satisfied: psutil>=5.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (5.8.0)
Requirement already satisfied: tblib>=1.6.0 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (1.7.0)
Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (2.4.0)
Requirement already satisfied: click>=6.6 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from distributed==2021.4.1->nvtabular) (8.0.1)
Requirement already satisfied: importlib-metadata in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from click>=6.6->distributed==2021.4.1->nvtabular) (4.6.4)
Requirement already satisfied: numpy>=1.15 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from numba>=0.53.1->nvtabular) (1.21.2)
Requirement already satisfied: llvmlite<0.37,>=0.36.0rc1 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from numba>=0.53.1->nvtabular) (0.36.0)
Requirement already satisfied: pytz>=2017.2 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from pandas<1.3.0dev0,>=1.0->nvtabular) (2021.1)
Requirement already satisfied: python-dateutil>=2.7.3 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from pandas<1.3.0dev0,>=1.0->nvtabular) (2.8.2)
Requirement already satisfied: locket in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from partd>=0.3.10->dask==2021.4.1->nvtabular) (0.2.1)
Requirement already satisfied: six>=1.5 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from python-dateutil>=2.7.3->pandas<1.3.0dev0,>=1.0->nvtabular) (1.16.0)
Requirement already satisfied: heapdict in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from zict>=0.1.3->distributed==2021.4.1->nvtabular) (1.0.1)
Requirement already satisfied: typing-extensions>=3.6.4 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from importlib-metadata->click>=6.6->distributed==2021.4.1->nvtabular) (3.10.0.0)
Requirement already satisfied: zipp>=0.5 in ./miniconda3/envs/rapids/lib/python3.7/site-packages (from importlib-metadata->click>=6.6->distributed==2021.4.1->nvtabular) (3.5.0)
Building wheels for collected packages: nvtabular
  Building wheel for nvtabular (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/federicot/miniconda3/envs/rapids/bin/python /Users/federicot/miniconda3/envs/rapids/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/tmpqoni7e4u
       cwd: /private/var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/pip-install-p13laygd/nvtabular_19612595b5b44803928a5cb935554604
  Complete output (243 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.7-x86_64-3.7
  creating build/lib.macosx-10.7-x86_64-3.7/tests
  copying tests/conftest.py -> build/lib.macosx-10.7-x86_64-3.7/tests
  copying tests/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/tests
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/worker.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/column_group.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/_version.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/dispatch.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/utils.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  copying nvtabular/workflow.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular
  creating build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_cpu_workflow.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_tf_dataloader.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_notebooks.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_io.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_workflow.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_tf_feature_columns.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_torch_dataloader.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_column_similarity.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_dask_nvt.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_tf_layers.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_triton_inference.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_column_group.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_torch_layers.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_ops.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_tools.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_s3.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  copying tests/unit/test_dataloader_backend.py -> build/lib.macosx-10.7-x86_64-3.7/tests/unit
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/tools
  copying nvtabular/tools/inspector_script.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/tools
  copying nvtabular/tools/data_gen.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/tools
  copying nvtabular/tools/dataset_inspector.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/tools
  copying nvtabular/tools/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/tools
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils
  copying nvtabular/framework_utils/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/avro.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/parquet.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/dataframe_engine.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/hugectr.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/shuffle.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/dataset.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/dask.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/writer_factory.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/dataset_engine.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/csv.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  copying nvtabular/io/writer.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/io
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  copying nvtabular/loader/backend.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  copying nvtabular/loader/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  copying nvtabular/loader/tensorflow.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  copying nvtabular/loader/torch.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  copying nvtabular/loader/tf_utils.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/loader
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference
  copying nvtabular/inference/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/bucketize.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/dropna.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/column_similarity.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/categorify.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/logop.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/fill.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/rename.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/stat_operator.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/hash_bucket.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/normalize.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/moments.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/operator.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/join_groupby.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/hashed_cross.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/data_stats.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/lambdaop.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/join_external.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/difference_lag.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/filter.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/clip.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/target_encoding.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/groupby.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  copying nvtabular/ops/list_slice.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/ops
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch
  copying nvtabular/framework_utils/torch/models.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch
  copying nvtabular/framework_utils/torch/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch
  copying nvtabular/framework_utils/torch/utils.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow
  copying nvtabular/framework_utils/tensorflow/feature_column_utils.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow
  copying nvtabular/framework_utils/tensorflow/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch/layers
  copying nvtabular/framework_utils/torch/layers/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch/layers
  copying nvtabular/framework_utils/torch/layers/embeddings.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/torch/layers
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow/layers
  copying nvtabular/framework_utils/tensorflow/layers/interaction.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow/layers
  copying nvtabular/framework_utils/tensorflow/layers/embedding.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow/layers
  copying nvtabular/framework_utils/tensorflow/layers/outer_product.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow/layers
  copying nvtabular/framework_utils/tensorflow/layers/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/framework_utils/tensorflow/layers
  creating build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  copying nvtabular/inference/triton/benchmarking_tools.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  copying nvtabular/inference/triton/__init__.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  copying nvtabular/inference/triton/data_conversions.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  copying nvtabular/inference/triton/model.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  copying nvtabular/inference/triton/model_config_pb2.py -> build/lib.macosx-10.7-x86_64-3.7/nvtabular/inference/triton
  UPDATING build/lib.macosx-10.7-x86_64-3.7/nvtabular/_version.py
  set build/lib.macosx-10.7-x86_64-3.7/nvtabular/_version.py to '0.6.1'
  running build_ext
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include/python3.7m -c flagcheck.cpp -o flagcheck.o -std=c++17
  clang: warning: include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
  building 'nvtabular_cpp' extension
  creating build/temp.macosx-10.7-x86_64-3.7
  creating build/temp.macosx-10.7-x86_64-3.7/cpp
  creating build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular
  creating build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -DVERSION_INFO=0.6.1 -I./cpp/ -I/private/var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/pip-build-env-pljq93kd/overlay/lib/python3.7/site-packages/pybind11/include -I/Users/federicot/miniconda3/envs/rapids/include/python3.7m -c cpp/nvtabular/__init__.cc -o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/__init__.o -std=c++17 -mmacosx-version-min=10.14 -fvisibility=hidden -g0 -stdlib=libc++
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -DVERSION_INFO=0.6.1 -I./cpp/ -I/private/var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/pip-build-env-pljq93kd/overlay/lib/python3.7/site-packages/pybind11/include -I/Users/federicot/miniconda3/envs/rapids/include/python3.7m -c cpp/nvtabular/inference/__init__.cc -o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/__init__.o -std=c++17 -mmacosx-version-min=10.14 -fvisibility=hidden -g0 -stdlib=libc++
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -DVERSION_INFO=0.6.1 -I./cpp/ -I/private/var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/pip-build-env-pljq93kd/overlay/lib/python3.7/site-packages/pybind11/include -I/Users/federicot/miniconda3/envs/rapids/include/python3.7m -c cpp/nvtabular/inference/categorify.cc -o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/categorify.o -std=c++17 -mmacosx-version-min=10.14 -fvisibility=hidden -g0 -stdlib=libc++
  cpp/nvtabular/inference/categorify.cc:40:19: warning: loop variable 'value' is always a copy because the range of type 'py::array' does not return a reference [-Wrange-loop-analysis]
        for (auto & value: values) {
                    ^
  cpp/nvtabular/inference/categorify.cc:40:12: note: use non-reference type 'const pybind11::handle'
        for (auto & value: values) {
             ^~~~~~~~~~~~~
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:125:19: warning: loop variable 'value' is always a copy because the range of type 'py::array' does not return a reference [-Wrange-loop-analysis]
        for (auto & value: input) {
                    ^
  cpp/nvtabular/inference/categorify.cc:125:12: note: use non-reference type 'const pybind11::handle'
        for (auto & value: input) {
             ^~~~~~~~~~~~~
  cpp/nvtabular/inference/categorify.cc:140:14: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
        return output;
               ^~~~~~
  cpp/nvtabular/inference/categorify.cc:140:14: note: call 'std::move' explicitly to avoid copying
        return output;
               ^~~~~~
               std::move(output)
  cpp/nvtabular/inference/categorify.cc:205:17: warning: loop variable 'item' is always a copy because the range of type 'py::dict' does not return a reference [-Wrange-loop-analysis]
      for (auto & item : categories) {
                  ^
  cpp/nvtabular/inference/categorify.cc:205:10: note: use non-reference type 'const std::__1::pair<pybind11::handle, pybind11::handle>'
      for (auto & item : categories) {
           ^~~~~~~~~~~~~
  cpp/nvtabular/inference/categorify.cc:231:12: warning: local variable 'tensors' will be copied despite being returned by name [-Wreturn-std-move]
      return tensors;
             ^~~~~~~
  cpp/nvtabular/inference/categorify.cc:231:12: note: call 'std::move' explicitly to avoid copying
      return tensors;
             ^~~~~~~
             std::move(tensors)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:149:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<float>' requested here
              case 4: return transform_int<float>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:150:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<double>' requested here
              case 8: return transform_int<double>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:155:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<unsigned int>' requested here
              case 4: return transform_int<uint32_t>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:156:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<unsigned long long>' requested here
              case 8: return transform_int<uint64_t>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:161:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<int>' requested here
              case 4: return transform_int<int32_t>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:162:28: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<long long>' requested here
              case 8: return transform_int<int64_t>(input);
                             ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  cpp/nvtabular/inference/categorify.cc:115:12: warning: local variable 'output' will be copied despite being returned by name [-Wreturn-std-move]
      return output;
             ^~~~~~
  cpp/nvtabular/inference/categorify.cc:166:18: note: in instantiation of function template specialization 'nvtabular::inference::ColumnMapping::transform_int<char>' requested here
            return transform_int<char>(input);
                   ^
  cpp/nvtabular/inference/categorify.cc:115:12: note: call 'std::move' explicitly to avoid copying
      return output;
             ^~~~~~
             std::move(output)
  13 warnings generated.
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -I/Users/federicot/miniconda3/envs/rapids/include -arch x86_64 -DVERSION_INFO=0.6.1 -I./cpp/ -I/private/var/folders/78/rc_byl_568j8x4ycsn51k9lc0000gn/T/pip-build-env-pljq93kd/overlay/lib/python3.7/site-packages/pybind11/include -I/Users/federicot/miniconda3/envs/rapids/include/python3.7m -c cpp/nvtabular/inference/fill.cc -o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/fill.o -std=c++17 -mmacosx-version-min=10.14 -fvisibility=hidden -g0 -stdlib=libc++
  cpp/nvtabular/inference/fill.cc:75:12: warning: local variable 'ret' will be copied despite being returned by name [-Wreturn-std-move]
      return ret;
             ^~~
  cpp/nvtabular/inference/fill.cc:75:12: note: call 'std::move' explicitly to avoid copying
      return ret;
             ^~~
             std::move(ret)
  1 warning generated.
  g++ -bundle -undefined dynamic_lookup -L/Users/federicot/miniconda3/envs/rapids/lib -arch x86_64 -L/Users/federicot/miniconda3/envs/rapids/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/__init__.o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/__init__.o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/categorify.o build/temp.macosx-10.7-x86_64-3.7/cpp/nvtabular/inference/fill.o -o build/lib.macosx-10.7-x86_64-3.7/nvtabular_cpp.cpython-37m-darwin.so -mmacosx-version-min=10.14 -stdlib=libc++
  protoc not found
  ----------------------------------------
  ERROR: Failed building wheel for nvtabular
Failed to build nvtabular
ERROR: Could not build wheels for nvtabular which use PEP 517 and cannot be installed directly

Steps/Code to reproduce bug pip install nvtabular on MacOS. Also, running tox on a Debian machine and installing dependencies that include nvtabular does not work.

Expected behavior Expected no error and nvtabular installed.

Environment details (please complete the following information):

  • Environment location: Bare-metal
  • Method of NVTabular install: pip

Additional context The latest pip-install that works (at least to my knowledge) is for this specific commit: pip install nvtabular@git+git://github.com/NVIDIA/NVTabular@25e975df67a78f44cd53ad7d8bbd9565b44cdaeb Such command works fine in each environment I tried.

Additionally, I tried on a virtual machine with Debian and manually doing pip install nvtabular works fine. However, it does not work when nvtabular is automatically installed by tox during the launch of tests (on a Linux machine), returning the same error.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
russellkimcommented, Apr 18, 2022

@karlhigley Thank you for your quick reply! I installed “protobuf-compiler” and then nvtabular successfully!

0reactions
karlhigleycommented, Apr 18, 2022

It looks like either the Protobuf compiler isn’t installed or the build can’t find it (“protoc not found”.) What does protoc --version return? If protoc isn’t found when you run that either, see the Protobuf Compiler Installation section of the Protobuf README for instructions. If protoc --version works but the NVTabular build is still failing somehow, see the Protobuf Python interface README for instructions on sorting out protoc library paths with Python (or open a new issue.)

Read more comments on GitHub >

github_iconTop Results From Across the Web

[BUG] Cannot Install NVTabular along PyTorch 1.9 · Issue #1175
If you want to run using conda to install nvtabular you may want to try installing pytorch using pip while in your activated...
Read more >
nvtabular - PyPI
Installing NVTabular Using Pip. NVTabular can be installed with pip by running the following command: pip install nvtabular. Installing NVTabular with Pip ......
Read more >
NVTabular on GPU - Kaggle
Explore and run machine learning code with Kaggle Notebooks | Using data from Everything you need to install NVTabular offline.
Read more >
Installation — CuPy 11.4.0 documentation
pip fails to install CuPy# ... If you are using certain versions of conda, it may fail to build CuPy with error g++:...
Read more >
NVTabular 2021 documentation
NVTabular is a feature engineering and preprocessing library for tabular data that is designed to easily manipulate terabyte scale datasets and train deep ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found