OpenDroneMap / OpenDroneMap/ODM

Initial running of ./start-dev-env.sh fails to install py packages

Open
#1,865 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

possible software fault
Dominant language
Python
Stars
6.5k
Forks
1.3k
Avg merge
5d 6h
Merged PRs (30d)
4

Description

How did you install OpenDroneMap?

I followed the steps in https://github.com/OpenDroneMap/ODM#developers, i.e.

  • git clone https://github.com/OpenDroneMap/ODM.git
  • cd to cloned dir
  • DATA=/path/to/datasets ./start-dev-env.sh

What's your operating system?

OS: Kubuntu 24.04.2 LTS x86_64

What is the problem?

When executing the first step described under https://github.com/OpenDroneMap/ODM#developers (i.e. $ DATA=/path/to/datasets ./start-dev-env.sh) I receive the following error message:

Successfully built appsettings Fiona vmem PyYAML pygltflib
Installing collected packages: vmem, Shapely, repoze.lru, pytz, Pysolar, ODMExifRead, mpmath, flatbuffers, xmltodict, wrapt, urllib3, typing-extensions, threadpoolctl, sympy, soupsieve, six, PyYAML, pyparsing, protobuf, Pillow, piexif, packaging, numpy, mypy-extensions, munch, lxml, kiwisolver, joblib, idna, humanfriendly, decorator, cycler, cloudpickle, click, charset-normalizer, certifi, attrs, affine, typing-inspect, trimesh, tifffile, snuggs, scipy, requests, Pywavelets, python-dateutil, pyproj, odmrawpy, networkx, marshmallow, imageio, fpdf2, edt, deprecated, coloredlogs, codem, cligj, click-plugins, beautifulsoup4, appsettings, scikit-learn, scikit-image, requests-toolbelt, rasterio, pandas, onnxruntime, matplotlib, Fiona, dataclasses-json, pyodm, pygltflib
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━ 67/71 [Fiona]ERROR: Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.9/py_compile.py", line 144, in compile
    code = loader.source_to_code(source_bytes, dfile or file,
  File "<frozen importlib._bootstrap_external>", line 918, in source_to_code
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/local/lib/python3.9/dist-packages/pygltflib/extensions/__init__.py", line 7
    "bufferView": 5,
    ^
SyntaxError: illegal target for annotation

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/compileall.py", line 238, in compile_file
    ok = py_compile.compile(fullname, cfile, dfile, True,
  File "/usr/lib/python3.9/py_compile.py", line 150, in compile
    raise py_exc
py_compile.PyCompileError:   File "/usr/local/lib/python3.9/dist-packages/pygltflib/extensions/__init__.py", line 7
    "bufferView": 5,
    ^
SyntaxError: illegal target for annotation


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
    status = _inner_run()
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
    return self.run(options, args)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper
    return func(self, options, args)
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/commands/install.py", line 459, in run
    installed = install_given_reqs(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/req/__init__.py", line 83, in install_given_reqs
    requirement.install(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/req/req_install.py", line 867, in install
    install_wheel(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/operations/install/wheel.py", line 729, in install_wheel
    _install_wheel(
  File "/usr/local/lib/python3.9/dist-packages/pip/_internal/operations/install/wheel.py", line 615, in _install_wheel
    success = compileall.compile_file(path, force=True, quiet=True)
  File "/usr/lib/python3.9/compileall.py", line 255, in compile_file
    msg = err.msg.encode(sys.stdout.encoding,
TypeError: encode() argument 'encoding' must be str, not None

What should be the expected behavior?

Installation should finish successfully.

How can we reproduce this?

Follow the steps at https://github.com/OpenDroneMap/ODM#developers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the developer setup instructions and ./start-dev-env.sh, then trace the package installation step that installs pygltflib. Reproduce the failure on the reported environment and determine why pygltflib produces the Python 3.9 syntax error; done means the initial development environment installation completes successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
build-system, developer-experience
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.