Motioneye: Debian/Raspbian install instructions can be simplified

Created on 9 Dec 2019  路  1Comment  路  Source: ccrisan/motioneye

When following Debian and Raspbian motioneye install instructions, the install instructions imply doing pip install of packages like pillow and pycurl, which require compiling (which is why one needs all the -dev packages installed from apt). However, all the packages that would normally need to be compiled when installing this way are also available from Raspbian repositores and can actually be installed as pre-compiled binaries through apt. So, say, on Debian, instead of doing this:

apt-get install python-pip python-dev python-setuptools curl libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev ffmpeg motion v4l-utils
pip install motioneye # compiles PIL and pycurl

you can do this:

apt update && apt install python-pip python-pil python-pycurl ffmpeg motion v4l-utils
pip install motioneye # Doesn't seem to compile anything

This makes installing motioneye into a much less error-prone process, as well as guards people from problems like needing to reinstall&recompile pycurl when they update their distro ( #1018 #1550 #1494 #1511 ) - since pycurl will be updated together with the associated curl libraries. Personally, I've run into issues where compilation of PIL on a 512MB RAM Pi would make the Pi run out of RAM - at the time, I solved that problem with swap, but when you think about it, it shouldn't have been necessary at all, since the point of a binary-based distro like Debian/Raspbian is that compiling is done for you.

Problems:

  • Certainly, in some cases, libraries shipped in the repositores can be outdated or buggy. My proposal - in case a "version from repository is too old" problem is encountered, we can still suggest that people install the affected packages from pip.

Thoughts:

  • This also makes it easier to keep things up-to-date (implies security and, in case of Debian, stability) - unlike pip, apt actually has decent "update everything" mechanisms, whereas pip doesn't even have an update all command.
  • I wouldn't be surprised if it were possible to install tornado from repositories, too.

Most helpful comment

Thanks, I have solved my issue "CURL_OPENSSL_3" after upgrading from stretch to buster.

  1. Uninstall pycurl with "pip uninstall pycurl"
  2. sudo apt-get install python-pycurl

Done.

>All comments

Thanks, I have solved my issue "CURL_OPENSSL_3" after upgrading from stretch to buster.

  1. Uninstall pycurl with "pip uninstall pycurl"
  2. sudo apt-get install python-pycurl

Done.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ltjessem picture ltjessem  路  5Comments

anon-tigress picture anon-tigress  路  3Comments

mbrivio picture mbrivio  路  4Comments

jeff-h picture jeff-h  路  5Comments

vtrack picture vtrack  路  6Comments