mlfpm / deepof

DeepLabCut based data analysis package including pose estimation and representation learning mediated behavior recognition
MIT License
39 stars 6 forks source link

[JOSS] Pip installation failure. #9

Closed edeno closed 1 year ago

edeno commented 1 year ago

Hi,

I tried to install the package via pip on ubuntu and encountered the following error:

Collecting av==9.2.0 (from deepof)
  Downloading av-9.2.0.tar.gz (2.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 44.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]
      Package libavformat was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libavformat.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libavformat' found
      Package libavcodec was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libavcodec.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libavcodec' found
      Package libavdevice was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libavdevice.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libavdevice' found
      Package libavutil was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libavutil.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libavutil' found
      Package libavfilter was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libavfilter.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libavfilter' found
      Package libswscale was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libswscale.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libswscale' found
      Package libswresample was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libswresample.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libswresample' found
      pkg-config could not find libraries ['avformat', 'avcodec', 'avdevice', 'avutil', 'avfilter', 'swscale', 'swresample']
      [end of output]

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

Is it possible that the requirements are too strict? One thing that might help is setting up a github action (or other CI) that tests the pip installation for all intended operating systems.

xref: https://github.com/openjournals/joss-reviews/issues/5394

lucasmiranda42 commented 1 year ago

Hmmm, interesting. Our CI pipeline implements a 'deploy' job testing exactly this, but only using the python:3.9.14 Docker image that runs on Debian. I'll add testing pipelines in other OS and troubleshoot

lucasmiranda42 commented 1 year ago

Dear @edeno,

I just pushed a new version to PyPI, with a much less restricted set of requirements that works fine across different OS (Ubuntu included). I tested it with Python 3.10.6 in Ubuntu 23.10.

Feel free to retry pip install (preferable in a new environment) and let me know if you still have problems. I'll close the issue for now!

edeno commented 1 year ago

Also confirming pip installation was successful.