Skip to content

[docs] fix install instructions for oonidata (command not found) #149

@maltfield

Description

@maltfield

This ticket is a bug report in the documentation of oonidata

...getting started is easy, run:

pip install oonidata

You will then be able to download measurements via:

oonidata sync --probe-cc IT --start-day 2022-10-01 --end-day 2022-10-02 --output-dir measurements/

Unfortunately, these commands fail, as attempting to follow the above documentation produces an error.

Problem

The following execution uses docker to consistently reproduce the error in Debian 12

sudo apt-get install docker.io
sudo bash -c 'gpasswd -a "${SUDO_USER}" docker'
su - `whoami`

docker run --rm -it --entrypoint /bin/bash debian:bookworm-slim

apt update
apt install python3-pip python3-virtualenv

python3 -m virtualenv /tmp/virtualenv
source /tmp/virtualenv/bin/activate

pip install oonidata
oonidata sync --probe-cc IT --start-day 2022-10-01 --end-day 2022-10-02 --output-dir measurements/

Example

Below is an example exeuction of the above commands

user@disp8426:~$ sudo apt-get install docker.io
...
user@disp8426:~$ 

user@disp8426:~$ sudo bash -c 'gpasswd -a "${SUDO_USER}" docker'
Adding user user to group docker
user@disp8426:~$ 

user@disp8426:~$ su - `whoami`
user@disp8426:~$ 

user@disp8426:~$ docker run --rm -it --entrypoint /bin/bash debian:bookworm-slim
Unable to find image 'debian:bookworm-slim' locally
bookworm-slim: Pulling from library/debian
4831516dd0cb: Pull complete 
Digest: sha256:98f4b71de414932439ac6ac690d7060df1f27161073c5036a7553723881bffbe
Status: Downloaded newer image for debian:bookworm-slim
root@53441006b165:/#      
     
root@53441006b165:/# apt update
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8792 kB]
Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6924 B]
Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [297 kB]
Fetched 9350 kB in 7s (1429 kB/s)                                              
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1 package can be upgraded. Run 'apt list --upip install oonidatapgradable' to see it.
root@53441006b165:/# 

root@53441006b165:/# apt install python3-pip python3-virtualenv
...
root@53441006b165:/# 

root@53441006b165:/# python3 -m virtualenv /tmp/virtualenv
created virtual environment CPython3.11.2.final.0-64 in 208ms
  creator CPython3Posix(dest=/tmp/virtualenv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==23.0.1, setuptools==66.1.1, wheel==0.38.4
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
root@53441006b165:/# 

root@53441006b165:/# source /tmp/virtualenv/bin/activate
(virtualenv) root@53441006b165:/# 

(virtualenv) root@53441006b165:/# pip install oonidata
Collecting oonidata
  Downloading oonidata-0.3.0-py2.py3-none-any.whl (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.1/40.1 kB 125.2 kB/s eta 0:00:00
Collecting boto3~=1.24
  Downloading boto3-1.42.52-py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 171.5 kB/s eta 0:00:00
Collecting click-loglevel~=0.5.0
  Downloading click_loglevel-0.5.1-py3-none-any.whl (5.3 kB)
Collecting click~=8.0.0
  Downloading click-8.0.4-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.5/97.5 kB 285.1 kB/s eta 0:00:00
Collecting cryptography~=38.0.3
  Downloading cryptography-38.0.4-cp36-abi3-manylinux_2_28_x86_64.whl (4.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 443.3 kB/s eta 0:00:00
Collecting lxml~=4.9
  Downloading lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl (7.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.9/7.9 MB 1.8 MB/s eta 0:00:00
Collecting lz4~=4.0
  Downloading lz4-4.4.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 3.0 MB/s eta 0:00:00
Collecting mashumaro~=3.0
  Downloading mashumaro-3.20-py3-none-any.whl (94 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.9/94.9 kB 3.3 MB/s eta 0:00:00
Collecting orjson~=3.8
  Downloading orjson-3.11.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 kB 3.3 MB/s eta 0:00:00
Collecting pyopenssl~=22.1
  Downloading pyOpenSSL-22.1.0-py3-none-any.whl (57 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.0/57.0 kB 2.9 MB/s eta 0:00:00
Collecting pyyaml~=6.0
  Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 806.6/806.6 kB 2.7 MB/s eta 0:00:00
Collecting requests~=2.27
  Downloading requests-2.32.5-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.7/64.7 kB 3.0 MB/s eta 0:00:00
Collecting tabulate~=0.9.0
  Downloading tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting tqdm~=4.64
  Downloading tqdm-4.67.3-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 3.2 MB/s eta 0:00:00
Collecting botocore<1.43.0,>=1.42.52
  Downloading botocore-1.42.52-py3-none-any.whl (14.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.6/14.6 MB 2.3 MB/s eta 0:00:00
Collecting jmespath<2.0.0,>=0.7.1
  Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)
Collecting s3transfer<0.17.0,>=0.16.0
  Downloading s3transfer-0.16.0-py3-none-any.whl (86 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.8/86.8 kB 2.7 MB/s eta 0:00:00
Collecting cffi>=1.12
  Downloading cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (215 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 215.6/215.6 kB 3.3 MB/s eta 0:00:00
Collecting typing_extensions>=4.14.0
  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.6/44.6 kB 2.4 MB/s eta 0:00:00
Collecting charset_normalizer<4,>=2
  Downloading charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (151 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.6/151.6 kB 171.0 kB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading idna-3.11-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.0/71.0 kB 2.2 MB/s eta 0:00:00
Collecting urllib3<3,>=1.21.1
  Downloading urllib3-2.6.3-py3-none-any.whl (131 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.6/131.6 kB 2.0 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 152.9/152.9 kB 2.1 MB/s eta 0:00:00
Collecting python-dateutil<3.0.0,>=2.1
  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 2.5 MB/s eta 0:00:00
Collecting pycparser
  Downloading pycparser-3.0-py3-none-any.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.2/48.2 kB 2.1 MB/s eta 0:00:00
Collecting six>=1.5
  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: urllib3, typing_extensions, tqdm, tabulate, six, pyyaml, pycparser, orjson, lz4, lxml, jmespath, idna, click, charset_normalizer, certifi, requests, python-dateutil, mashumaro, click-loglevel, cffi, cryptography, botocore, s3transfer, pyopenssl, boto3, oonidata
Successfully installed boto3-1.42.52 botocore-1.42.52 certifi-2026.1.4 cffi-2.0.0 charset_normalizer-3.4.4 click-8.0.4 click-loglevel-0.5.1 cryptography-38.0.4 idna-3.11 jmespath-1.1.0 lxml-4.9.4 lz4-4.4.5 mashumaro-3.20 oonidata-0.3.0 orjson-3.11.7 pycparser-3.0 pyopenssl-22.1.0 python-dateutil-2.9.0.post0 pyyaml-6.0.3 requests-2.32.5 s3transfer-0.16.0 six-1.17.0 tabulate-0.9.0 tqdm-4.67.3 typing_extensions-4.15.0 urllib3-2.6.3
(virtualenv) root@53441006b165:/# 

(virtualenv) root@53441006b165:/# oonidata sync --probe-cc IT --start-day 2022-10-01 --end-day 2022-10-02 --output-dir measurements/
bash: oonidata: command not found
(virtualenv) root@53441006b165:/# 

(virtualenv) root@53441006b165:/# find / -name oonidata
/tmp/virtualenv/lib/python3.11/site-packages/oonidata
(virtualenv) root@53441006b165:/#

(virtualenv) root@53441006b165:/# /tmp/virtualenv/lib/python3.11/site-packages/oonidata
bash: /tmp/virtualenv/lib/python3.11/site-packages/oonidata: Is a directory
(virtualenv) root@53441006b165:/# 

Solution

The problem appears to be that the pip install oonidata does not create any binary named oonidata

The documentation should be updated such that a user following it can install and use oonidata, without errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions