You are not logged in.

#1 2022-07-14 20:52:32

n8henrie
Member
From: Shiprock, NM
Registered: 2014-03-30
Posts: 45
Website

[SOLVED] pacman -Fl python-protobuf refers to files that no longer exi

Today I ran into an issue with tensorboard, which is complaining about the installed version of protobuf:

pkg_resources.DistributionNotFound: The 'protobuf<3.20,>=3.9.2' distribution was not found and is required by tensorboard

pacman -Qi python-protubuf shows that it's installed, and I don't see other users complaining or open bug reports, so I assume is an issue with my system.

sudo pacman -Syu
sudo pacman -S tensorboard

and the problem persists.

I started looking a little deeper, and it looks like python-protobuf thinks it's installed into python3.9, which no longer exists on my system:

$ pacman -Fl python-protobuf | grep 3\.10 | head
$ 
$ pacman -Fl python-protobuf | grep 3\.9 | head
python-protobuf usr/lib/python3.9/
python-protobuf usr/lib/python3.9/site-packages/
python-protobuf usr/lib/python3.9/site-packages/google/
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__init__.py
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__pycache__/
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__pycache__/__init__.cpython-39.opt-1.pyc
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__pycache__/__init__.cpython-39.pyc
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__pycache__/any_pb2.cpython-39.opt-1.pyc
python-protobuf usr/lib/python3.9/site-packages/google/protobuf/__pycache__/any_pb2.cpython-39.pyc
$ pacman -Qi python | grep Version
Version         : 3.10.5-1
$ ls -ld /usr/lib/python*
drwxr-xr-x 1 root root 14056 Oct 19  2021 /usr/lib/python2.7
drwxr-xr-x 1 root root  4086 Jun  7 15:42 /usr/lib/python3.10
$ sudo find /usr -name '*python3.10*' | wc -l
8
$ sudo find /usr -name '*python3.9*' | wc -l
0

Problem persists after sudo pacman -S --asdeps python-protobuf

Why does python-protobuf think it's installed in python3.9?

sudo pacman -Rdd python-protobuf
sudo pacman -S --asdeps python-protobuf

Still in the same situation. Is python3.9 hidden somewhere on my system?

Last edited by n8henrie (2022-07-14 22:32:17)

Offline

#2 2022-07-14 21:07:05

loqs
Member
Registered: 2014-03-06
Posts: 18,967

Re: [SOLVED] pacman -Fl python-protobuf refers to files that no longer exi

Why are you using `pacman -Fl python-protobuf` which will list the files provided by the files database which on your system is out of date rather than `pacman -Ql python-protobuf` which would query the local installed package?
Edit:
python-protobuf is currently 21.2 which does not satisfy 'protobuf<3.20,>=3.9.2'
https://github.com/tensorflow/tensorboa … cff30c2815

If you edit /usr/lib/python3.10/site-packages/tensorboard-2.9.1-py3.10.egg-info/requires.txt and replace 'protobuf >= 3.9.2, < 3.20' with 'protobuf >= 3.9.2' does that allow tensorboard to work as expected?
Also please file a bug report for the issue.

Last edited by loqs (2022-07-14 21:42:40)

Offline

#3 2022-07-14 22:31:08

n8henrie
Member
From: Shiprock, NM
Registered: 2014-03-30
Posts: 45
Website

Re: [SOLVED] pacman -Fl python-protobuf refers to files that no longer exi

Thanks for your response.

loqs wrote:

Why are you using `pacman -Fl python-protobuf`

Well, because I don't know what I'm doing obviously, which is why I'm posting in Newbie Corner. I thought `-Fl` was querying locally installed files, thanks for correcting me.

loqs wrote:

which will list the files provided by the files database which on your system is out of date

Why would it be out of date on my system? As I posted above, I did a `pacman -Syu`, which should sync everything, right? ... Ah, I didn't realize that the files database is separate (and must be synced separately). Just ran `pacman -Fy` and now `pacman -Fl `also shows 3.10.

loqs wrote:

python-protobuf is currently 21.2 which does not satisfy 'protobuf<3.20,>=3.9.2'

Ah, I misread the version range specifier and the error now makes sense. Yes, your suggested edit allows tensorboard to run.

loqs wrote:

If you edit /usr/lib/python3.10/site-packages/tensorboard-2.9.1-py3.10.egg-info/requires.txt and replace 'protobuf >= 3.9.2, < 3.20' with 'protobuf >= 3.9.2' does that allow tensorboard to work as expected?

Yes.

loqs wrote:

Also please file a bug report for the issue.

https://bugs.archlinux.org/task/75323

Offline

Board footer

Powered by FluxBB