Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PerfKitBenchmark not working with Python 3.13 #5518

Open
Pystronic opened this issue Jan 21, 2025 · 0 comments
Open

PerfKitBenchmark not working with Python 3.13 #5518

Pystronic opened this issue Jan 21, 2025 · 0 comments
Assignees

Comments

@Pystronic
Copy link

Python 3.13 removed support for multiple legacy modules. One of them being the pipes module which is currently required by PerfKitBenchmark. (Related to PEP 594)

The pipes module should therefore be replaced with the subprocess module, as recommended in the original PEP.

OS on which this issue occurred:

(.venv) [pystronic@pc PerfKitBenchmarker]$ uname -a
Linux pc 6.12.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 18 Jan 2025 02:26:57 +0000 x86_64 GNU/Linux

Python Version:

(.venv) [pystronic@pc PerfKitBenchmarker]$ python --version
Python 3.13.1

Output when executing pkb.py in the venv:

(.venv) [pystronic@pc PerfKitBenchmarker]$ ./pkb.py
Traceback (most recent call last):
  File "~/PerfKitBenchmarker/./pkb.py", line 19, in <module>
    from perfkitbenchmarker.pkb import Main
  File "~/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 81, in <module>
    from perfkitbenchmarker import benchmark_sets
  File "~/PerfKitBenchmarker/perfkitbenchmarker/benchmark_sets.py", line 24, in <module>
    from perfkitbenchmarker import linux_benchmarks
  File "~/PerfKitBenchmarker/perfkitbenchmarker/linux_benchmarks/__init__.py", line 27, in <module>
    BENCHMARKS = _LoadBenchmarks()
  File "~/PerfKitBenchmarker/perfkitbenchmarker/linux_benchmarks/__init__.py", line 24, in _LoadBenchmarks
    return list(import_util.LoadModulesForPath(__path__, __name__))
  File "~/PerfKitBenchmarker/perfkitbenchmarker/import_util.py", line 46, in LoadModulesForPath
    yield importlib.import_module(modname)
          ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/PerfKitBenchmarker/perfkitbenchmarker/linux_benchmarks/aerospike_benchmark.py", line 29, in <module>
    from perfkitbenchmarker import benchmark_spec as bm_spec
  File "~/PerfKitBenchmarker/perfkitbenchmarker/benchmark_spec.py", line 37, in <module>
    from perfkitbenchmarker import dpb_service
  File "~/PerfKitBenchmarker/perfkitbenchmarker/dpb_service.py", line 47, in <module>
    from perfkitbenchmarker.providers.aws import s3
  File "~/PerfKitBenchmarker/perfkitbenchmarker/providers/aws/s3.py", line 30, in <module>
    from perfkitbenchmarker.providers.aws import aws_virtual_machine
  File "~/PerfKitBenchmarker/perfkitbenchmarker/providers/aws/aws_virtual_machine.py", line 36, in <module>
    from perfkitbenchmarker import linux_virtual_machine
  File "~/PerfKitBenchmarker/perfkitbenchmarker/linux_virtual_machine.py", line 35, in <module>
    import pipes
ModuleNotFoundError: No module named 'pipes'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants