Skip to content

AttributeError: 'ZMQInteractiveShell' object has no attribute 'magic' when importing vectorbt #779

Open
@homerokzam

Description

@homerokzam

Title:

AttributeError: 'ZMQInteractiveShell' object has no attribute 'magic' when importing vectorbt

Text:

Description:

When trying to import vectorbt in my Python environment, I encountered the following error:

AttributeError: 'ZMQInteractiveShell' object has no attribute 'magic'

This happens when running:

import vectorbt as vbt

Error Traceback:


AttributeError Traceback (most recent call last)
Cell In[1], line 3
1 # %%
2 import os
----> 3 import vectorbt as vbt

File /opt/homebrew/Caskroom/miniconda/base/envs/venv/lib/python3.12/site-packages/vectorbt/init.py:23
21 from vectorbt.signals import *
22 from vectorbt.records import *
---> 23 from vectorbt.portfolio import *
24 from vectorbt.labels import *
25 from vectorbt.messaging import *

File /opt/homebrew/Caskroom/miniconda/base/envs/venv/lib/python3.12/site-packages/vectorbt/portfolio/init.py:6
1 # Copyright (c) 2021 Oleg Polakow. All rights reserved.
2 # This code is licensed under Apache 2.0 with Commons Clause license (see LICENSE.md for details)
4 """Modules for working with portfolios."""
----> 6 from vectorbt.portfolio.base import Portfolio
7 from vectorbt.portfolio.enums import *
8 from vectorbt.portfolio.logs import Logs

File /opt/homebrew/Caskroom/miniconda/base/envs/venv/lib/python3.12/site-packages/vectorbt/portfolio/base.py:1424
1422 from vectorbt.generic.plots_builder import PlotsBuilderMixin
1423 from vectorbt.generic.stats_builder import StatsBuilderMixin
...
311 return True
312 if shell == "TerminalInteractiveShell":
313 # Terminal running IPython

AttributeError: 'ZMQInteractiveShell' object has no attribute 'magic'

System Information:
• OS: macOS Sequoia 15.3.2
• Python Version: 3.12
• vectorbt Version: 0.27.2
• ipykernel: 6.29.5
• Jupyter/IPython: 9.0.2

Steps to Reproduce:
1. Install vectorbt in a Python 3.12 environment:

pip install vectorbt

2.	Run the following command:

import vectorbt as vbt

3.	The error occurs during import.

Expected Behavior:

vectorbt should import without raising an attribute error.

Possible Cause:
• This issue may be related to incompatibility between vectorbt and IPython/Jupyter.
• The error originates from ZMQInteractiveShell, which is used in Jupyter-based environments.

Workarounds Attempted:
• Tried running in a standard Python shell instead of Jupyter, but the issue persists.
• Verified the installed versions of IPython and vectorbt.
• Attempted reinstalling vectorbt and IPython:

pip install --upgrade vectorbt ipython

Request for Help:
• Has anyone encountered this issue before?
• Is there a specific environment setup required to run vectorbt with Python 3.12?
• Could this be an incompatibility with Jupyter, and if so, is there a recommended fix?

Any guidance or suggestions would be greatly appreciated!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions