Search Criteria
Package Details: octoprint-venv 1.5.3-1
Git Clone URL: | https://aur.archlinux.org/octoprint-venv.git (read-only, click to copy) |
---|---|
Package Base: | octoprint-venv |
Description: | Web interface for 3D printers (venv installation type) |
Upstream URL: | http://octoprint.org/ |
Licenses: | |
Conflicts: | |
Provides: | |
Submitter: | Jake |
Maintainer: | Jake |
Last Packager: | Jake |
Votes: | 22 |
Popularity: | 0.75 |
First Submitted: | 2017-01-15 12:46 |
Last Updated: | 2021-01-20 10:35 |
Dependencies (3)
- python (python-dbg)
- ffmpeg (ffmpeg-semifull-git, ffmpeg-tmblock-git, ffmpeg4.0, ffmpeg-cuda, ffmpeg-v4l2-request-git, ffmpeg-svt, ffmpeg-headless, ffmpeg-gl-transition, ffmpeg-git, ffmpeg-decklink, ffmpeg-intel-full-git, ffmpeg-mmal, ffmpeg-svt-av1-git, ffmpeg-libfdk_aac, ffmpeg-full, ffmpeg-nox-git, ffmpeg-svt-vp9-git, ffmpeg-nocuda, ffmpeg-ndi, ffmpeg-amd-full, ffmpeg-full-git, ffmpeg-amd-full-git) (optional) – timelapse support
- mjpg-streamer (mjpg-streamer-git) (optional) – stream images from webcam
Latest Comments
1 2 3 4 5 6 ... Next › Last »
wlhlm commented on 2020-12-15 19:44
OK, so I haven't really been satisfied with the current solution and have done some further investigating:
This problem seems to be with the
setup.py
script provided by OctoPrint. Everywhere I've looked for build instructions for OctoPrint they usepip
to install it whereas octoprint-venv callssetup.py
directly. Indeed, installing OctoPrint into the venv usingpip
correctly builds the netifaces module. No special casing required.Not sure why
pip
works and plainsetup.py
doesn't as the former has to use the latter for build instructions. However, I do occasionally hear that python packaging is a sad story overall, so this doesn't surprise me.The below patch should be a cleaner solution (taken from the octoprint package):
EDIT: Please note that this will generate a slightly different directory structure and will require manually intervention when upgrading.
Astroturf commented on 2020-12-15 18:52
@Jake Perfect! Working Netifaces module also with latest
PKGBUILD
changes. I'm running x86_64 indeed.Jake commented on 2020-12-15 14:04
@wlhlm: True! It is changed now.
What confused me is that without wheel it still compiles the shared object and puts it in an egg. Then it even prints "Installed ...netifaces-0.10.9-py3.9-linux-x86_64.egg", but it is not unpacked and actually installed...
wlhlm commented on 2020-12-15 12:35
@Jake I think the arch check for x86_64 and i686 has to be dropped. @Astroturf's logs indicate that they are running on x86_64 and have the same problem with the netifaces module being empty. If you look at PyPI, you can see while netifaces provides x86 wheels, they are only available for older python versions (see below). So installing wheel regardless of architecture makes sense to me as this problem may crop up on the next python upgrade again or for other OctoPrint dependencies.
wlhlm commented on 2020-12-15 12:02
@Jake Thanks! You forgot to bump pkgrel.
Jake commented on 2020-12-15 11:43
@wlhlm: You are correct, there are multiple is architecture-specific dependencies once built. I have changed the
arch
field to the specific values now. Also I have added the wheel and manual netifaces installation. Let me know if that works for you, because I don't have the hardware to test.@Astroturf: Does this work for you as well, installing netifaces before the octoprint setup, or does it really require removing the dependency in setup.py? In theory it should just skip modules that are already there.
Astroturf commented on 2020-12-14 22:04
base-devel
is installed indeed. The following patch builds a working Netifaces module for me. :)wlhlm commented on 2020-12-14 21:09
@Astroturf Just to make sure: Did you install the
base-devel
group?wlhlm commented on 2020-12-14 21:04
@Astroturf Bummer. For me, manually running
/opt/octoprint-venv/bin/pip install wheel
and/opt/octoprint-venv/bin/pip install netifaces --force
after that fixed the problem. So I assumed the patch you provided fixes the package...Surprising that this works since the octoprint virtualenv is setup using
python -m venv
which should ignore the system installed python packages. I thought you'd needpython -m venv --system-site-packages
in order to access them inside the virtualenv...Astroturf commented on 2020-12-14 20:47
@wlhlm This still does not generate a working netifaces module for me.
Btw, the
python-netifaces
https://www.archlinux.org/packages/community/x86_64/python-netifaces/) does install correctly. Only change I noticed is that it installsnetifaces.cpython-39-x86_64-linux-gnu.so
in/site-packages
instead of an.egg
.