davidcaron / pye57

Read and write e57 point clouds from Python
MIT License
68 stars 42 forks source link

Absolut path for setup.py #38

Closed maxim0815 closed 7 months ago

maxim0815 commented 1 year ago

Hey,

first of all thanks for this repo, it's quite handy.

I'm using your code within docker and try to build it like described in the following:

RUN git clone https://github.com/davidcaron/pye57.git --recursive \
    && cd pye57 \
    && python -m pip install . \
    && cd libE57Format \
    && mkdir -p build && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build --parallel \
    && cd build \
    && make install \
    && apt-get -qq clean

Within the python installing part the following error comes up:

Building wheels for collected packages: pye57
  Building wheel for pye57 (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pye57 (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [19 lines of output]
      running bdist_wheel
      running build
      running build_py
      running egg_info
      writing src/pye57.egg-info/PKG-INFO
      writing dependency_links to src/pye57.egg-info/dependency_links.txt
      writing requirements to src/pye57.egg-info/requires.txt
      writing top-level names to src/pye57.egg-info/top_level.txt
      reading manifest file 'src/pye57.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'src/pye57.egg-info/SOURCES.txt'
      error: Error: setup script specifies an absolute path:

          /pye57/libE57Format/src/BlobNodeImpl.cpp

      setup() arguments must *always* be /-separated paths relative to the
      setup.py directory, *never* absolute paths.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pye57
Failed to build pye57
ERROR: Could not build wheels for pye57, which is required to install pyproject.toml-based projects

As the error states, this is caused by an absolute path specified in a SOURCES.txt (src/pye57.egg-info/SOURCES.txt'). I think it does happen because of the include_package_data=True flag, which is set within the setup.py. Changing the flag does install the package without any problems.

Would it make sense to change the flag?

ZY-Zeng commented 1 year ago

good job!