Skip to content

Python 3.13 is unsupported #1539

@martimlobao

Description

@martimlobao

Describe the bug

Python 3.13 does not seem to be supported by open-interpreter. Python 3.12 runs as expected.

Reproduce

❯ uvx --from open-interpreter --python 3.13 interpreter
  × Failed to download and build `tiktoken==0.7.0`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status: 1)

      ...

        --- stderr
        error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
        = help: please check if an updated version of PyO3 is available. Current version: 0.20.3
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
      warning: build failed, waiting for other jobs to finish...
      error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release
      -v --features pyo3/extension-module --crate-type cdylib -- -C 'link-args=-undefined dynamic_lookup
      -Wl,-install_name,@rpath/_tiktoken.cpython-313-darwin.so'` failed with code 101

  help: `tiktoken` (v0.7.0) was included because `open-interpreter` (v0.4.3) depends on `tiktoken`

Expected behavior

Running open-interpreter using uvx should work as expected. Instead, uv fails to build open-interpreter. Note that Python 3.12 works normally: uvx --from open-interpreter --python 3.12 interpreter

Screenshots

No response

Open Interpreter version

n/a

Python version

3.13

Operating System name and version

macOS 15.1.1

Additional context

Restricting the python version here to >=3.9,<3.13 should resolve the issue.

Activity

added a commit that references this issue on Nov 26, 2024
5095bcf
linked a pull request that will close this issue on Nov 26, 2024
Kreijstal

Kreijstal commented on Jan 18, 2025

@Kreijstal

seems this project isn't mantained anymore

JamesClarke7283

JamesClarke7283 commented on Jun 21, 2025

@JamesClarke7283

seems this project isn't mantained anymore

That claim is unfounded, perhaps instead of making negative & unhelpful comments that add no value to this discussion, you could channel that energy into helping maintain the project (for example: by helpful technical discussion on solving the core issues, documentation, code).

Ive read some of your bug reports and its valuable insight, perhaps this is a better focus.

I see you raise issues about deepseek/model support, this issue may benefit from your error logs being posted there or under a new issue(even if you don't provide fully in-depth detailed reports, running a neofetch/fastfetch may also help):
#1314

Core Issues

I am no expert, but from reading the issues and personal experience, my understanding is a lot of the repeat issue's that impact OI's compatibility with model's, are with tool calling and occasionally the underlying inference engines uneven OpenAI API support/integration with models. Many of these core problems are due to the fact that we are still in a growth phase in tool calling/structured outputs (where it changes often, and new features are added, for example qwen3's tool calling in it's reasoning steps), one major factor is the varying grammar/chat templates, and as every model family has its own way of doing it, its not a trivial task (even if upstream llama.cpp/etc abstract lots of the hard part's away).

Safety/Alignment Angle

Tool calling can also be highly dangerous if used improperly, as anyone keeping up-to-date with alignment/safety research will know, this adds another layer of complexity, if an LLM can act[1] against your interests[2], it can perform malicious and/or ill-advised action's and cause potentially boundless harms (if given unsupervised access to powerful tools, like send-email, web browsing, and especially shell /code-interpreter access, even in a sandbox, due to the fully open-ended capability, removing internet access in the sandbox could help mitigate this, if you don't trust the model's reported safety profile), also, newer, more capable models have been demonstrated to have significant improvement's to situational awareness, and may even know when & why its being evaluated[3] based on the prompt's alone, potentially impacting safety evaluation's themselves, so it's also about what added safeguards are needed(in the software), there is broader work to be done in the area from all angles. (NOTE: I know OI has some of the key ones in place now, such as Human In the loop, sand-boxing, etc, but its worth adding that to the equation).

Conclusion

These are fundamentally hard problems, that require intelligent people(much smarter than myself) to solve, the good news is a lot of the hard work(research) has been done for tool calling(for functionality), and i think we are converging on some kind of core standard's (expected behaviours at least), when tool calling is used.

Read this issue for more on why making "not maintained/dead project" claims without due caution can be problematic:
#1627

References

Backlund, A. and Petersson, L. (2025) ‘Vending-Bench: A Benchmark for Long-Term Coherence of Autonomous Agents’. arXiv. Available at: https://doi.org/10.48550/arXiv.2502.15840.

Meinke, A. et al. (2025) ‘Frontier Models are Capable of In-context Scheming’. arXiv. Available at: https://doi.org/10.48550/arXiv.2412.04984.

Needham, J. et al. (2025) ‘Large Language Models Often Know When They Are Being Evaluated’. arXiv. Available at: https://doi.org/10.48550/arXiv.2505.23836.

JamesClarke7283

JamesClarke7283 commented on Jun 21, 2025

@JamesClarke7283

uvx --from open-interpreter --python 3.12 interpreter

Tiktoken 0.7.0, had issues even with 3.12, users are advised to use '0.9.0' or later.

Describe the bug

Python 3.13 does not seem to be supported by open-interpreter. Python 3.12 runs as expected.

Reproduce

❯ uvx --from open-interpreter --python 3.13 interpreter
  × Failed to download and build `tiktoken==0.7.0`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status: 1)

      ...

        --- stderr
        error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
        = help: please check if an updated version of PyO3 is available. Current version: 0.20.3
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
      warning: build failed, waiting for other jobs to finish...
      error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release
      -v --features pyo3/extension-module --crate-type cdylib -- -C 'link-args=-undefined dynamic_lookup
      -Wl,-install_name,@rpath/_tiktoken.cpython-313-darwin.so'` failed with code 101

  help: `tiktoken` (v0.7.0) was included because `open-interpreter` (v0.4.3) depends on `tiktoken`

Expected behavior

Running open-interpreter using uvx should work as expected. Instead, uv fails to build open-interpreter. Note that Python 3.12 works normally: uvx --from open-interpreter --python 3.12 interpreter

Screenshots

No response

Open Interpreter version

n/a

Python version

3.13

Operating System name and version

macOS 15.1.1

Additional context

Restricting the python version here to >=3.9,<3.13 should resolve the issue.

This is an older issue, For context:
Tiktoken 0.7.0, had issues even with 3.12+, users are advised to use '0.9.0' or later.

See here for more:
#627 (comment)

My testing (21/06/2025)

$ uvx --from open-interpreter --python 3.13 interpreter --local
[trimmed for brevity]...
        --- stderr
        error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version
      (3.12)
        = help: please check if an updated version of PyO3 is available. Current version: 0.20.3
        = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the
      stable ABI
      warning: build failed, waiting for other jobs to finish...
      error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v
      --features pyo3/extension-module --crate-type cdylib --` failed with code 101

      hint: This usually indicates a problem with the package or the build environment.
  help: `tiktoken` (v0.7.0) was included because `open-interpreter` (v0.4.3) depends on `tiktoken`

I ran export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 and tried again and it seemed to work okay from brief test.

❯ uvx --from open-interpreter --python 3.13 interpreter --local
/home/[REDACTED]/.cache/uv/archive-v0/qJKnWdzYxjihEmuBRNI3M/lib/python3.13/site-packages/interpreter/core/utils/system_debug_info.py:4: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources

Open Interpreter supports multiple local model providers.                                                          

[?] Select a provider: 
 > Ollama
   Llamafile
   LM Studio
   Jan

[?] Select a model: 
 > llama3.1:8b
   qwen3:1.7b-q8_0
   smollm2:1.7b-instruct-fp16
   smollm2:135m-instruct-fp16
   smollm2:360m-instruct-fp16
   olmo2:13b-1124-instruct-q8_0
   [etc...]

Loading llama3.1:8b...

Model loaded.                                                                                                      


▌ Model set to llama3.1:8b                                                                                       

Open Interpreter will require approval before running code.                                                        

Use interpreter -y to bypass this.                                                                                 

Press CTRL-C to exit.                                                                                              

> Hello, hows it going?
                                                                                                                   
  { "name": "execute", "arguments": {"language": "javascript", "code": "console.log('I am functioning as           
  expected')"}}                                                                                                    
                                                                                                                   
> 

Notnaton

Notnaton commented on Jun 23, 2025

@Notnaton
Collaborator

This is an issue with tiktoken which depends on setuptools-rust and/or a rust compiler on the host system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @Kreijstal@Notnaton@martimlobao@JamesClarke7283

      Issue actions

        Python 3.13 is unsupported · Issue #1539 · openinterpreter/open-interpreter