Skip to content

Setting up development environment results in circular import errors  #350

@vaskokj

Description

@vaskokj

Bug/Issue Description:
Get circular import errors below when trying to run main.py to modify code and to debug in IDE.

ImportError: cannot import name 'ndarray' from partially initialized module 'numpy' (most likely due to a circular import) (./DVR-Scan/venv/lib/python3.8/site-packages/numpy/__init__.py)

Required Information:
git clone https://github.com/Breakthrough/DVR-Scan.git
python3 -m build

This builds successfully and produces the dvr-scan files however when I try to run the code directly so I can attach a debugger I get the following errors.

source venv/bin/activate
pip install -r requirements.txt
PYTHONPATH=. python dvr_scan/__main__.py

Produces error

ImportError: cannot import name 'ndarray' from partially initialized module 'numpy' (most likely due to a circular import) (./DVR-Scan/venv/lib/python3.8/site-packages/numpy/__init__.py)

Same thing happens in VSCode and PyCharm

Expected Behavior:
Execution of dvr-scan.

Computing Environment:

  • OS: [e.g. Windows, Linux (Distro: Ubuntu, Mint, Fedora, etc...), OSX]: Linux Ubuntu 20.04
  • Python Version: [e.g. 3.6 or 3.6.6]: 3.8
  • OpenCV Version: [e.g. 3.4.1]
pip list installed
Package               Version 
--------------------- --------
appdirs               1.4.4   
attrs                 22.1.0  
build                 0.9.0   
click                 8.1.3   
exceptiongroup        1.0.0   
iniconfig             1.1.1   
numpy                 1.23.4  
opencv-contrib-python 4.6.0.66
opencv-python         4.6.0.66
packaging             21.3    
pep517                0.13.0  
pip                   20.0.2  
pkg-resources         0.0.0   
platformdirs          2.5.2   
pluggy                1.0.0   
pyparsing             3.0.9   
pytest                7.2.0   
scenedetect           0.6.0.3 
screeninfo            0.8.1   
setuptools            44.0.0  
tomli                 2.0.1   
tqdm                  4.64.1

I could have missed some instructions but only found a little snipped on the "Downloads" page on setting up a development environment.

https://dvr-scan.readthedocs.io/en/latest/download/

To install from source, download and extract the latest release to a location of your choice, and make sure you have the appropriate system requirements installed before continuing. DVR-Scan can be built by running the following command:

python -m build

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions