gnuradio / pybombs

PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulling in out-of-tree projects.
https://gnuradio.org
GNU General Public License v3.0
416 stars 190 forks source link

PIP dependencies do not get identified as installed #490

Open jacobagilbert opened 6 years ago

jacobagilbert commented 6 years ago

I was writing a simple recipe to install pyserial via PIP, and discovered that even though pyserial was installed via PIP during the binary install phase, it was not detected and a source install was attempted (which failed as the recipe does not have a source install option).

Recipe pyserial.lwr:

category: baseline
satisfy:
  pip: pyserial >= 2.7

Obnoxious mode provides output:

<SNIP>
PyBOMBS._process_thread() - DEBUG - Executing command `sudo -H /usr/local/bin/pip install pyserial'
Collecting pyserial
  Using cached pyserial-3.4-py2.py3-none-any.whl
Installing collected packages: pyserial
Successfully installed pyserial-3.4
PyBOMBS.monitor_process() - DEBUG - Thread signaled termination or returned
PyBOMBS.monitor_process() - DEBUG - Return value: 0
PyBOMBS.Packager.pip - DEBUG - Loading pip install cache.
PyBOMBS.PackageManager - DEBUG - Using packager apt
PyBOMBS.Packager.apt - OBNOXIOUS - install(pyserial, static=False)
PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string.
PyBOMBS.PackageManager - DEBUG - Using packager pymod
PyBOMBS.Packager.pymod - OBNOXIOUS - install(pyserial, static=False)
PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string.
PyBOMBS.PackageManager - DEBUG - Using packager pkgconfig
PyBOMBS.Packager.pkgconfig - OBNOXIOUS - install(pyserial, static=False)
PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string.
PyBOMBS.PackageManager - DEBUG - Using packager cmd
PyBOMBS.Packager.cmd - OBNOXIOUS - install(pyserial, static=False)
PyBOMBS.ReqScanner - OBNOXIOUS - Empty requirements string.
PyBOMBS.install_manager - OBNOXIOUS - Not installed: It goes into tree.
PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (pyserial)
Install tree:
|
\- pyserial
PyBOMBS.install_manager - INFO - Phase 2: Recursively installing source packages to prefix:
PyBOMBS.PackageManager - OBNOXIOUS - pyserial has cached installed-status: False
PyBOMBS.install_manager - INFO - Installing package: pyserial
PyBOMBS.PackageManager - DEBUG - install(pyserial, install_type=source, static=False)
PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (pyserial)
PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (pyserial)
PyBOMBS.PackageManager - OBNOXIOUS - pyserial has cached installed-status: False
PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (pyserial)
PyBOMBS.get_recipe - OBNOXIOUS - Woohoo, this one's already cached (pyserial)
PyBOMBS.PackageManager - DEBUG - Using packager source
PyBOMBS.Packager.source - WARNING - Cannot find a source URI for package pyserial
PyBOMBS.install_manager - ERROR - Error installing package pyserial. Aborting.