2025-09-14T07:30:28,140 Created temporary directory: /tmp/pip-build-tracker-o1fn4jap 2025-09-14T07:30:28,140 Initialized build tracking at /tmp/pip-build-tracker-o1fn4jap 2025-09-14T07:30:28,141 Created build tracker: /tmp/pip-build-tracker-o1fn4jap 2025-09-14T07:30:28,141 Entered build tracker: /tmp/pip-build-tracker-o1fn4jap 2025-09-14T07:30:28,141 Created temporary directory: /tmp/pip-wheel-yuz771lj 2025-09-14T07:30:28,144 Created temporary directory: /tmp/pip-ephem-wheel-cache-jnbwgfx_ 2025-09-14T07:30:28,199 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2025-09-14T07:30:28,202 2 location(s) to search for versions of panoramatool: 2025-09-14T07:30:28,202 * https://pypi.org/simple/panoramatool/ 2025-09-14T07:30:28,202 * https://www.piwheels.org/simple/panoramatool/ 2025-09-14T07:30:28,202 Fetching project page and analyzing links: https://pypi.org/simple/panoramatool/ 2025-09-14T07:30:28,202 Getting page https://pypi.org/simple/panoramatool/ 2025-09-14T07:30:28,203 Found index url https://pypi.org/simple/ 2025-09-14T07:30:28,273 Fetched page https://pypi.org/simple/panoramatool/ as application/vnd.pypi.simple.v1+json 2025-09-14T07:30:28,279 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/59/28/c308cf132be859113a9e9facb8c872181abd9474847d1a021248e1efda29/panoramaTool-0.0.1-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,280 Found link https://files.pythonhosted.org/packages/c3/3a/fc10ed83ecbbffda6023f54bbf2d7b3a4a1e1c5ad94f17e7b1fed68faead/panoramaTool-0.0.1.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.1 2025-09-14T07:30:28,280 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6a/b5/455548857a5008e9572f129e2ea480f236da9a5ab4b2c8798eac11f0a276/panoramaTool-0.0.2-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,280 Found link https://files.pythonhosted.org/packages/7d/a8/e5667a5a8edf803afb4688843cd6cfce69d80dbe0fabb0d2910f27162124/panoramaTool-0.0.2.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.2 2025-09-14T07:30:28,280 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6b/15/88e5249de4f1fccd145cc4643ea3c4a5381b137b50bb093e99ddd5709311/panoramaTool-0.0.3-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,280 Found link https://files.pythonhosted.org/packages/03/9a/2fc7d435c6853b4afe9eae6bf78f7241462c317c25cf21c37e092a678817/panoramaTool-0.0.3.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.3 2025-09-14T07:30:28,281 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/bb/7b/780292cf96bc2fccf2a7c8a0120ea8fbef1361bfa7ea0921c91582689941/panoramaTool-0.0.4-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,281 Found link https://files.pythonhosted.org/packages/43/64/a67cc6a6995166355d89858546f8aaee9f067e550308bc2017479f76293f/panoramaTool-0.0.4.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.4 2025-09-14T07:30:28,281 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/41/9e/deef1ec48b979aef9a115281f9f5b5b5be4f258180b1288e7c5b7f146fef/panoramaTool-0.0.5-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,281 Found link https://files.pythonhosted.org/packages/24/d6/0197e7bc05be342d489650012905f323117ff4144094aa82a442c0375283/panoramaTool-0.0.5.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.5 2025-09-14T07:30:28,281 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/51/1f/e8f8b13a8621dd045a3d0ec18bd8160f4c51a1af8949f1c9d598e77276ec/panoramaTool-0.0.6-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,282 Found link https://files.pythonhosted.org/packages/99/0b/76375bc498adb7034d55c362b42a4edaa7efed3f3975c869a846d374154a/panoramaTool-0.0.6.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.6 2025-09-14T07:30:28,282 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6f/88/f466ec297928f23d48468cb796256f0eedfc92526a13044e0c15accdb4b7/panoramaTool-0.0.7-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,282 Found link https://files.pythonhosted.org/packages/27/b6/4ee23abea2a0984cb7a13abe0f98b60cb7c8a94997aa5ab2dc0572968ac8/panoramaTool-0.0.7.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.7 2025-09-14T07:30:28,282 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/c5/0a/8a35ec8b8a38e3ca141a851f96cd953d3b4253130cbdf6eefa9d3b25baf7/panoramaTool-0.0.8-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,282 Found link https://files.pythonhosted.org/packages/2e/9c/ddb24d435f38b72e3af0f554d1c0b05c8801b1ec6a7fd1b805d5ad131eb0/panoramaTool-0.0.8.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.8 2025-09-14T07:30:28,283 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/fd/6a/2fa7768b891b72d7f4777e916bee15067ce5eaecda08a91b11cbbfdb77f0/panoramaTool-0.0.9-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,283 Found link https://files.pythonhosted.org/packages/3e/e8/d209126fe7cd76bd6254abdbac7dfb40cfeb88cc09856fd7d11f312f2e87/panoramaTool-0.0.9.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.9 2025-09-14T07:30:28,283 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/8f/2c/693e13ec0c1e2135da18c2a0396f54b91787401ff864c48a13890f0a3b07/panoramaTool-0.0.10-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,283 Found link https://files.pythonhosted.org/packages/ac/d9/59d6dc12699f5cac500416adbbcafb979ed5628031b763543460a4c7d126/panoramaTool-0.0.10.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.10 2025-09-14T07:30:28,283 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/4b/d2/7b4b485562a626245e27295b15b256d8240af5c114879c9aec1689bcf71e/panoramaTool-0.0.11-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,283 Found link https://files.pythonhosted.org/packages/fc/ba/e4f595f1de1c30debabd72fc6e09d3bd6883c951903d4fcb8736500f1977/panoramaTool-0.0.11.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.11 2025-09-14T07:30:28,284 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/ed/30/940d38bbff1c10f94cc09ce463d7f02ca894aa02e95b506e87bff936635e/panoramaTool-0.0.12-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,284 Found link https://files.pythonhosted.org/packages/1d/b1/6a8cb87f696b230ede87bd20029e62b73445af95c5e474385803fd4d2121/panoramaTool-0.0.12.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.0.12 2025-09-14T07:30:28,284 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/57/2f/76cea327462639f81dce4f2ad3223e9c7e35e5e75f294faa008ffad27ea7/panoramaTool-0.1.1-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,284 Found link https://files.pythonhosted.org/packages/54/bb/8a22a2155779812d6f91a6c3ca3e5332ef8cecc22d89986bf41141c33106/panoramaTool-0.1.1.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.1 2025-09-14T07:30:28,284 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/9b/f4/f1d6635b4d18402d903007975f119e35fd116574e3e2b35ed85d8f4ababc/panoramaTool-0.1.2-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,285 Found link https://files.pythonhosted.org/packages/e7/67/3cd5ac9436e63302470f8dfcd26f89a808d1a56752be8c5a3acd42162465/panoramaTool-0.1.2.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.2 2025-09-14T07:30:28,285 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/86/91/b039ea4c21ac101d5293d71f3ff9ee93d0888ae63ab3b5e1c0dcec6b77fc/panoramaTool-0.1.3-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,285 Found link https://files.pythonhosted.org/packages/a1/66/aa39859d9f372b581a8416dbdc4922687111c26f0a7453b112f474c98895/panoramaTool-0.1.3.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.3 2025-09-14T07:30:28,285 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/0a/31/896b97b1422d38338de771198888e72e0e09585e8f8af0082157fc488aff/panoramaTool-0.1.4-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,285 Found link https://files.pythonhosted.org/packages/9f/fd/374775c161fb2e90414c72211371012ccce787bc386e7f816d9f7f62c1f6/panoramaTool-0.1.4.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.4 2025-09-14T07:30:28,286 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/52/36/adca081513eb62b8264c44320776a626bef1584a2ee38d6db900b8fffdbd/panoramaTool-0.1.5-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,286 Found link https://files.pythonhosted.org/packages/6e/aa/72f60b87ac621ddbb70fcf4dbe2c78e45f4fb8316ab56cc8bb9df444280e/panoramaTool-0.1.5.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.5 2025-09-14T07:30:28,286 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/b1/7b/88021605af3b7c9db2fbc7032e8f269f90aa09ebac650c6a7a42ef919e06/panoramaTool-0.1.6-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,286 Found link https://files.pythonhosted.org/packages/6b/8c/3af38813c62b1ecbe5fdabdf985658af34df853827ddb3e7da1859179944/panoramaTool-0.1.6.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.6 2025-09-14T07:30:28,286 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6e/33/9065b4214f3b45c21c73086fdfde300484cadb0a841ec0a71739f800a87d/panoramaTool-0.1.7-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,286 Found link https://files.pythonhosted.org/packages/11/87/5862b82a3dec0271c2d146587ae83ba3ba72c9fe666acff48deca2891769/panoramaTool-0.1.7.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.7 2025-09-14T07:30:28,287 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6c/71/d34efaaa6d2cf300327b8936d8de5021444761702378171a066cff139cfd/panoramaTool-0.1.8-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,287 Found link https://files.pythonhosted.org/packages/72/84/1d8a76f7a5d2f8a5eba7f11e0775af8795fdf584e3c5ca4de08ccb470791/panoramaTool-0.1.8.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.8 2025-09-14T07:30:28,287 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/fa/9c/e872674932cba8564f8b5eea42fd32501be385cbae49715d7e71fe7756dc/panoramaTool-0.1.10-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,287 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/6a/a5/a1319f31d0265b3a75e432176be35f765a2b9a99e60ad0c03e0e183c5f3d/panoramaTool-0.1.11-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,287 Found link https://files.pythonhosted.org/packages/e3/a1/8acb136674f2f8f2554fef8f8f5629a9e9e0db753baefcf66d66cb79dbb5/panoramaTool-0.1.11.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.11 2025-09-14T07:30:28,287 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/3d/eb/b3b75d31c1559654d289dd66f37c2e57164a7feda69b69029e8f03519e94/panoramaTool-0.1.12-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,288 Found link https://files.pythonhosted.org/packages/e5/b4/47a299b59f2670428d1e10231e865fb5f686ee5d8ca8ff3976b22ca0aa53/panoramaTool-0.1.12.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.12 2025-09-14T07:30:28,288 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/79/03/181b886026434e17b74e2e44d572b8a5d2ae82011eaa8ddde83c2dcccf61/panoramaTool-0.1.13-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,288 Found link https://files.pythonhosted.org/packages/34/70/886ffb4d68b77dd14fe06af0a9c8e135bbd71b37248cac8c95c87d324a28/panoramaTool-0.1.13.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.13 2025-09-14T07:30:28,288 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/3f/12/918ce49f390a959fd0ed444d40c198f8991f2ce1c54f0b8e1ab8ce0ea10b/panoramaTool-0.1.14-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,288 Found link https://files.pythonhosted.org/packages/50/aa/08424174f9ac980c42d18d178c0c941381d9d72f1ee38a223842d512424d/panoramaTool-0.1.14.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.14 2025-09-14T07:30:28,289 Skipping link: No binaries permitted for panoramatool: https://files.pythonhosted.org/packages/36/95/2c09ff7eca89013ed5c883da94a9a644f95f51414692bbbd2d9b874ce247/panoramaTool-0.1.15-py3-none-any.whl (from https://pypi.org/simple/panoramatool/) 2025-09-14T07:30:28,289 Found link https://files.pythonhosted.org/packages/34/06/68d359f8647f80576251005b7e33fbb394832c3781f0e74bd70ef770c1c1/panoramaTool-0.1.15.tar.gz (from https://pypi.org/simple/panoramatool/), version: 0.1.15 2025-09-14T07:30:28,289 Fetching project page and analyzing links: https://www.piwheels.org/simple/panoramatool/ 2025-09-14T07:30:28,289 Getting page https://www.piwheels.org/simple/panoramatool/ 2025-09-14T07:30:28,290 Found index url https://www.piwheels.org/simple/ 2025-09-14T07:30:28,383 Fetched page https://www.piwheels.org/simple/panoramatool/ as text/html 2025-09-14T07:30:28,384 Skipping link: not a file: https://www.piwheels.org/simple/panoramatool/ 2025-09-14T07:30:28,384 Skipping link: not a file: https://pypi.org/simple/panoramatool/ 2025-09-14T07:30:28,411 Given no hashes to check 1 links for project 'panoramatool': discarding no candidates 2025-09-14T07:30:28,412 Collecting panoramatool==0.1.13 2025-09-14T07:30:28,414 Created temporary directory: /tmp/pip-unpack-39tu5u_4 2025-09-14T07:30:28,548 Downloading panoramaTool-0.1.13.tar.gz (11 kB) 2025-09-14T07:30:28,594 Added panoramatool==0.1.13 from https://files.pythonhosted.org/packages/34/70/886ffb4d68b77dd14fe06af0a9c8e135bbd71b37248cac8c95c87d324a28/panoramaTool-0.1.13.tar.gz to build tracker '/tmp/pip-build-tracker-o1fn4jap' 2025-09-14T07:30:28,595 Running setup.py (path:/tmp/pip-wheel-yuz771lj/panoramatool_97d1c6f0bb0141e0b1ae10f306499c02/setup.py) egg_info for package panoramatool 2025-09-14T07:30:28,595 Created temporary directory: /tmp/pip-pip-egg-info-i6w3tneh 2025-09-14T07:30:28,596 Preparing metadata (setup.py): started 2025-09-14T07:30:28,596 Running command python setup.py egg_info 2025-09-14T07:30:29,101 Traceback (most recent call last): 2025-09-14T07:30:29,103 File "", line 2, in 2025-09-14T07:30:29,103 exec(compile(''' 2025-09-14T07:30:29,103 ~~~~^^^^^^^^^^^^ 2025-09-14T07:30:29,103 # This is -- a caller that pip uses to run setup.py 2025-09-14T07:30:29,104 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,104 ...<32 lines>... 2025-09-14T07:30:29,104 exec(compile(setup_py_code, filename, "exec")) 2025-09-14T07:30:29,104 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,104 ''' % ('/tmp/pip-wheel-yuz771lj/panoramatool_97d1c6f0bb0141e0b1ae10f306499c02/setup.py',), "", "exec")) 2025-09-14T07:30:29,104 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,104 File "", line 35, in 2025-09-14T07:30:29,105 File "/tmp/pip-wheel-yuz771lj/panoramatool_97d1c6f0bb0141e0b1ae10f306499c02/setup.py", line 9, in 2025-09-14T07:30:29,105 with open('requirements.txt') as f: 2025-09-14T07:30:29,105 ~~~~^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,105 FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt' 2025-09-14T07:30:29,190 ERROR: python setup.py egg_info exited with 1 2025-09-14T07:30:29,203 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2025-09-14T07:30:29,203 exec(compile('"'"''"'"''"'"' 2025-09-14T07:30:29,203 # This is -- a caller that pip uses to run setup.py 2025-09-14T07:30:29,203 # 2025-09-14T07:30:29,203 # - It imports setuptools before invoking setup.py, to enable projects that directly 2025-09-14T07:30:29,203 # import from `distutils.core` to work with newer packaging standards. 2025-09-14T07:30:29,203 # - It provides a clear error message when setuptools is not installed. 2025-09-14T07:30:29,203 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2025-09-14T07:30:29,203 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2025-09-14T07:30:29,203 # manifest_maker: standard file '"'"'-c'"'"' not found". 2025-09-14T07:30:29,203 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2025-09-14T07:30:29,203 import os, sys, tokenize, traceback 2025-09-14T07:30:29,203 2025-09-14T07:30:29,203 try: 2025-09-14T07:30:29,203 import setuptools 2025-09-14T07:30:29,203 except ImportError: 2025-09-14T07:30:29,203 print( 2025-09-14T07:30:29,203 "ERROR: Can not execute `setup.py` since setuptools failed to import in " 2025-09-14T07:30:29,203 "the build environment with exception:", 2025-09-14T07:30:29,203 file=sys.stderr, 2025-09-14T07:30:29,203 ) 2025-09-14T07:30:29,203 traceback.print_exc() 2025-09-14T07:30:29,203 sys.exit(1) 2025-09-14T07:30:29,203 2025-09-14T07:30:29,203 __file__ = %r 2025-09-14T07:30:29,203 sys.argv[0] = __file__ 2025-09-14T07:30:29,203 2025-09-14T07:30:29,203 if os.path.exists(__file__): 2025-09-14T07:30:29,203 filename = __file__ 2025-09-14T07:30:29,203 with tokenize.open(__file__) as f: 2025-09-14T07:30:29,203 setup_py_code = f.read() 2025-09-14T07:30:29,203 else: 2025-09-14T07:30:29,203 filename = "" 2025-09-14T07:30:29,203 setup_py_code = "from setuptools import setup; setup()" 2025-09-14T07:30:29,203 2025-09-14T07:30:29,203 exec(compile(setup_py_code, filename, "exec")) 2025-09-14T07:30:29,203 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-yuz771lj/panoramatool_97d1c6f0bb0141e0b1ae10f306499c02/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-i6w3tneh[/] 2025-09-14T07:30:29,203 [bold magenta]cwd[/]: /tmp/pip-wheel-yuz771lj/panoramatool_97d1c6f0bb0141e0b1ae10f306499c02/ 2025-09-14T07:30:29,203 Preparing metadata (setup.py): finished with status 'error' 2025-09-14T07:30:29,204 ERROR: metadata generation failed 2025-09-14T07:30:29,210 Exception information: 2025-09-14T07:30:29,210 Traceback (most recent call last): 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 63, in generate_metadata 2025-09-14T07:30:29,210 call_subprocess( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 args, 2025-09-14T07:30:29,210 ^^^^^ 2025-09-14T07:30:29,210 ...<2 lines>... 2025-09-14T07:30:29,210 spinner=spinner, 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/utils/subprocess.py", line 209, in call_subprocess 2025-09-14T07:30:29,210 raise error 2025-09-14T07:30:29,210 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2025-09-14T07:30:29,210 2025-09-14T07:30:29,210 The above exception was the direct cause of the following exception: 2025-09-14T07:30:29,210 2025-09-14T07:30:29,210 Traceback (most recent call last): 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-14T07:30:29,210 status = _inner_run() 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-14T07:30:29,210 return self.run(options, args) 2025-09-14T07:30:29,210 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-14T07:30:29,210 return func(self, options, args) 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2025-09-14T07:30:29,210 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 96, in resolve 2025-09-14T07:30:29,210 result = self._result = resolver.resolve( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 collected.requirements, max_rounds=limit_how_complex_resolution_can_be 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 515, in resolve 2025-09-14T07:30:29,210 state = resolution.resolve(requirements, max_rounds=max_rounds) 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 388, in resolve 2025-09-14T07:30:29,210 self._add_to_criteria(self.state.criteria, r, parent=None) 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/resolvers/resolution.py", line 141, in _add_to_criteria 2025-09-14T07:30:29,210 if not criterion.candidates: 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_vendor/resolvelib/structs.py", line 194, in __bool__ 2025-09-14T07:30:29,210 return bool(self._sequence) 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 163, in __bool__ 2025-09-14T07:30:29,210 self._bool = any(self) 2025-09-14T07:30:29,210 ~~~^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 147, in 2025-09-14T07:30:29,210 return (c for c in iterator if id(c) not in self._incompatible_ids) 2025-09-14T07:30:29,210 ^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 37, in _iter_built 2025-09-14T07:30:29,210 candidate = func() 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 187, in _make_candidate_from_link 2025-09-14T07:30:29,210 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 link, template, name, version 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 233, in _make_base_candidate_from_link 2025-09-14T07:30:29,210 self._link_candidate_cache[link] = LinkCandidate( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 link, 2025-09-14T07:30:29,210 ^^^^^ 2025-09-14T07:30:29,210 ...<3 lines>... 2025-09-14T07:30:29,210 version=version, 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 306, in __init__ 2025-09-14T07:30:29,210 super().__init__( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 link=link, 2025-09-14T07:30:29,210 ^^^^^^^^^^ 2025-09-14T07:30:29,210 ...<4 lines>... 2025-09-14T07:30:29,210 version=version, 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 159, in __init__ 2025-09-14T07:30:29,210 self.dist = self._prepare() 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 236, in _prepare 2025-09-14T07:30:29,210 dist = self._prepare_distribution() 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 317, in _prepare_distribution 2025-09-14T07:30:29,210 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 532, in prepare_linked_requirement 2025-09-14T07:30:29,210 return self._prepare_linked_requirement(req, parallel_builds) 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 647, in _prepare_linked_requirement 2025-09-14T07:30:29,210 dist = _get_prepared_distribution( 2025-09-14T07:30:29,210 req, 2025-09-14T07:30:29,210 ...<3 lines>... 2025-09-14T07:30:29,210 self.check_build_deps, 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2025-09-14T07:30:29,210 abstract_dist.prepare_distribution_metadata( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 finder, build_isolation, check_build_deps 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/distributions/sdist.py", line 69, in prepare_distribution_metadata 2025-09-14T07:30:29,210 self.req.prepare_metadata() 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~~^^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 581, in prepare_metadata 2025-09-14T07:30:29,210 self.metadata_directory = generate_metadata_legacy( 2025-09-14T07:30:29,210 ~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-14T07:30:29,210 build_env=self.build_env, 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ...<3 lines>... 2025-09-14T07:30:29,210 details=details, 2025-09-14T07:30:29,210 ^^^^^^^^^^^^^^^^ 2025-09-14T07:30:29,210 ) 2025-09-14T07:30:29,210 ^ 2025-09-14T07:30:29,210 File "/usr/lib/python3/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 70, in generate_metadata 2025-09-14T07:30:29,210 raise MetadataGenerationFailed(package_details=details) from error 2025-09-14T07:30:29,210 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2025-09-14T07:30:29,231 Removed panoramatool==0.1.13 from https://files.pythonhosted.org/packages/34/70/886ffb4d68b77dd14fe06af0a9c8e135bbd71b37248cac8c95c87d324a28/panoramaTool-0.1.13.tar.gz from build tracker '/tmp/pip-build-tracker-o1fn4jap' 2025-09-14T07:30:29,231 Removed build tracker: '/tmp/pip-build-tracker-o1fn4jap'