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:
pip.Thoughts:
pip, apt actually has decent "update everything" mechanisms, whereas pip doesn't even have an update all command.tornado from repositories, too.Thanks, I have solved my issue "CURL_OPENSSL_3" after upgrading from stretch to buster.
Done.
Most helpful comment
Thanks, I have solved my issue "CURL_OPENSSL_3" after upgrading from stretch to buster.
Done.