Help with Python circular error
Arak Rachael
arakelthedragon at gmail.com
Wed Jun 16 05:23:17 EDT 2021
On Wednesday, 16 June 2021 at 10:32:50 UTC+2, Arak Rachael wrote:
> On Tuesday, 15 June 2021 at 19:30:28 UTC+2, Chris Angelico wrote:
> > On Wed, Jun 16, 2021 at 3:17 AM MRAB <pyt... at mrabarnett.plus.com> wrote:
> > >
> > > On 2021-06-15 17:49, Chris Angelico wrote:
> > > > On Wed, Jun 16, 2021 at 2:45 AM Arak Rachael <arakelt... at gmail.com> wrote:
> > > >>
> > > >> Hi to everyone,
> > > >>
> > > >> I am having a problem with this error, I created a package and uploaded it to Test PyPi, but I can not get it to work, can someone help me please?
> > > >>
> > > >> https://test.pypi.org/manage/project/videotesting/releases/'
> > > >>
> > > >> The error:
> > > >>
> > > >> /home/user/anaconda3/envs/testing/bin/python /home/user/devel/python.assignments/topgis-viz/topgis-test.py
> > > >> Traceback (most recent call last):
> > > >> File "/home/user/devel/python.assignments/topgis-viz/topgis-test.py", line 10, in <module>
> > > >> from videotesting import downsample_and_save_npz
> > > >> File "/home/user/anaconda3/envs/testing/lib/python3.8/site-packages/videotesting/__init__.py", line 7, in <module>
> > > >> from videotesting import extract_video
> > > >> ImportError: cannot import name 'extract_video' from partially initialized module 'videotesting' (most likely due to a circular import) (/home/user/anaconda3/envs/testing/lib/python3.8/site-packages/videotesting/__init__.py)
> > > >>
> > > >
> > > > Hard to diagnose without the source code, but I'm thinking that your
> > > > __init__.py is probably trying to import from elsewhere in the
> > > > package? If so, try "from . import extract_video" instead.
> > > >
> > > Well, the traceback says that videotesting/__init__.py has:
> > > from videotesting import extract_video
> > >
> > > so it is trying to import from itself during initialisation.
> > Yes, but what we can't tell is what the intention is. It could be
> > trying to import from its own package (in which case my suggestion
> > would be correct), or it could be trying to import from something
> > completely different (in which case the solution is to rename
> > something to avoid the conflict). Or it could be something else
> > entirely.
> >
> > ChrisA
> Thanks all!
>
>
> I have __init__.py in the create and uploaded package and I have __init_.py in the new package, which is not ready yet. Its 2 projects, but I am using project 1 into project 2.
>
> Here is the first package as a .zip
> https://www.dropbox.com/s/lkz0qf4mq9afpaz/video-testing-package1.zip?dl=0
>
> Here is the second project in which I try to use the first one:
> https://www.dropbox.com/s/sxjpip23619fven/topgis-viz-package2.zip?dl=0
The problems were 2:
1. This has to be in __init__.py:
import pipreqs
import cv2
import numpy
import os
import PIL
#import videotesting
from .videotest import extract_video
from .videotest import resize_and_grayscale
from .videotest import add_progress_bar
from .videotest import downsample_and_save_npz
the dots before videotest are critical
2. The module is named videotest as the file videotest.py, not videotesting
More information about the Python-list
mailing list