DeepLearnPhysics / larcv3

Third version of larcv. This is a complete replacement for larcv2.
MIT License
11 stars 6 forks source link

Error when pip installing #47

Open SJ001 opened 2 years ago

SJ001 commented 2 years ago

Hello, when I try to run pip install larcv I am getting the following error:

Collecting larcv
  Using cached larcv-3.4.0.tar.gz (808 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-0wwu1sex/larcv_1a0656132a004380b11ebf2d7334d2f9/setup.py", line 12, in <module>
          verstrline = open(VERSIONFILE, "rt").read()
      FileNotFoundError: [Errno 2] No such file or directory: 'larcv/_version.py'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I tried on both Mac and Linux OS. What should I do? Thank you!

coreyjadams commented 2 years ago

Hey I can reproduce this, I will work on a fix.

coreyjadams commented 2 years ago

OK, sorry about that. What happened - and I don't know why - is when I built the source distribution it did not include several new files. I was able to rebuild it successfully and publish it. It's on as v3.4.1, which I just successfully installed with pip install larcv on a totally separate system.

It should work for you - let me know? I'm going to delete 3.4.0 from pypi since it's clearly broken.

SJ001 commented 2 years ago

Thank you! For some reason the installation gets stuck at a point:

Collecting larcv
  Using cached larcv-3.4.1.tar.gz (7.9 MB)
Requirement already satisfied: numpy in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from larcv) (1.22.1)
Requirement already satisfied: scikit-build in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from larcv) (0.12.0)
Requirement already satisfied: packaging in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (21.3)
Requirement already satisfied: distro in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (1.6.0)
Requirement already satisfied: wheel>=0.29.0 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (0.37.1)
Requirement already satisfied: setuptools>=28.0.0 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (58.0.4)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from packaging->scikit-build->larcv) (2.4.7)
Building wheels for collected packages: larcv
  Building wheel for larcv (setup.py) ... |

I tried for a few hours from different internet connections with the same result. Do you know what might be the cause?

coreyjadams commented 2 years ago

I just successfully did a pip install on my laptop. I can try to incorporate this into the next release, but it could be not doing a parallel build. Try this environment variable to speed things up:

export MAKEFLAGS="-j32"

Further, use -v in pip to see just where it stalls:

pip -v install larcv

If something in particular hangs, let me know?

SJ001 commented 2 years ago

Here is the full output. I assume the last line is where it gets stuck:

Using pip 21.2.4 from /om/user/sudrescu/miniconda3/lib/python3.8/site-packages/pip (python 3.8)
Collecting larcv
  Using cached larcv-3.4.1.tar.gz (7.9 MB)
    Running command python setup.py egg_info
    running egg_info
    creating /tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info
    writing /tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/dependency_links.txt
    writing requirements to /tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/requires.txt
    writing top-level names to /tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/top_level.txt
    writing manifest file '/tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/SOURCES.txt'
    /om/user/sudrescu/miniconda3/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'use_scm_version'
      warnings.warn(msg)
    package init file 'src/pybind11/__init__.py' not found (or not a regular file)
    reading manifest file '/tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/SOURCES.txt'
    adding license file 'LICENSE'
    writing manifest file '/tmp/pip-pip-egg-info-nwjrdtn6/larcv.egg-info/SOURCES.txt'
Requirement already satisfied: numpy in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from larcv) (1.22.1)
Requirement already satisfied: scikit-build in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from larcv) (0.12.0)
Requirement already satisfied: setuptools>=28.0.0 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (58.0.4)
Requirement already satisfied: distro in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (1.6.0)
Requirement already satisfied: wheel>=0.29.0 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (0.37.1)
Requirement already satisfied: packaging in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from scikit-build->larcv) (21.3)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /om/user/sudrescu/miniconda3/lib/python3.8/site-packages (from packaging->scikit-build->larcv) (2.4.7)
Building wheels for collected packages: larcv
  Running command /om/user/sudrescu/miniconda3/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ww3ytvj6
  /om/user/sudrescu/miniconda3/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'use_scm_version'
    warnings.warn(msg)

  --------------------------------------------------------------------------------
  -- Trying "Ninja" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 4.8.5
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 4.8.5
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja" generator - success
  --------------------------------------------------------------------------------

  Configuring Project
    Working directory:
      /tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/_skbuild/linux-x86_64-3.8/cmake-build
    Command:
      cmake /tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/src -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/om/user/sudrescu/miniconda3/bin/python -DPYTHON_VERSION_STRING:STRING=3.8.3 -DPYTHON_INCLUDE_DIR:PATH=/om/user/sudrescu/miniconda3/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/om/user/sudrescu/miniconda3/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/om/user/sudrescu/miniconda3/lib/python3.8/site-packages/skbuild/resources/cmake -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_PYTHON_BINDINGS=ON -DMPI:BOOL=OFF -DOPENMP:BOOL=OFF -DDOCS:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Release

  -- The C compiler identification is GNU 4.8.5
  -- The CXX compiler identification is GNU 4.8.5
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- HDF5 C compiler wrapper is unable to compile a minimal HDF5 program.
  -- Found HDF5: /usr/lib64/libhdf5.so (found version "1.8.12")
  -- Found PythonLibs: /om/user/sudrescu/miniconda3/lib/libpython3.8.so (found version "3.8.3")
  1
  /om/user/sudrescu/miniconda3/lib/python3.8/site-packages/numpy/core/include
  -- Using the single-header code from /tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/src/json/single_include/
  NLOHMANN_JSON_INCLUDE_INSTALL_DIR:
  Adding pybind11
  -- pybind11 v2.9.0
  -- Found PythonInterp: /om/user/sudrescu/miniconda3/bin/python (found version "3.8.3")
  -- Found PythonLibs: /om/user/sudrescu/miniconda3/lib/libpython3.8.so
  -- Performing Test HAS_FLTO
  -- Performing Test HAS_FLTO - Success
  Using hdf5 parallel: FALSE
  -- Configuring done
  -- Generating done
  CMake Warning:
    Manually-specified variables were not used by the project:

      SKBUILD

  -- Build files have been written to: /tmp/pip-install-vhaawv4p/larcv_cbac88a74acd45b88e327b8e343aafd1/_skbuild/linux-x86_64-3.8/cmake-build
  [1/61] Building CXX object larcv3/core/base/CMakeFiles/base.dir/LArCVBaseUtilFunc.cxx.o
coreyjadams commented 2 years ago

That's super strange - this all looks perfectly ok. Did you let this run awhile, and did you try the env variable above (export MAKEFLAGS="-j32")?

Regardless ... can you try installing from source directly?

git clone https://github.com/DeepLearnPhysics/larcv3.git
cd larcv3
python setup.py build -j 64
python setup.py install
coreyjadams commented 2 years ago

Hey any luck installing?