Finding it very difficult to move pyexiv2 code from Python 2 to Python 3

Chris Green cl at isbd.net
Wed Aug 19 03:53:58 EDT 2020


Chris Angelico <rosuav at gmail.com> wrote:
> On Wed, Aug 19, 2020 at 3:36 AM Chris Green <cl at isbd.net> wrote:
> >
> > I have a fairly simple Python program that I wrote a while ago in
> > Python 2 that transfers images from my camera to a date ordered
> > directory hierarchy on my computer.
> >
> > I am trying to get it to work on Python 3 as I have just upgraded to
> > Ubuntu 20.04 and on that Python 3 is now the default version of Python.
> >
> > I seem to be descending into a horrible morass of dependencies (or
> > failed dependencies) when I try to install pyexiv2 (pr py3exiv2) using
> > pip3.
> >
> > Can anyone point me at anywhere that might have some documentation
> > that will help?
> >
> > The first problem (it might be the whole problem, I'm not sure) is
> > which 'pyexiv2' I should be installing, there seem to be several
> > apparently competing versions and it's not at all clear which is the
> > most likely to work.  On pypi there's py3exiv2 and pyexiv2 both of
> > which claim to be for Python 3.  On the http://py3exiv2.tuxfamily.org/
> > page it states: "py3exiv2 is the Python 3 version of pyexiv2 written
> > for Python 2, ...", really! no wonder I'm confused.
> >
> > Essentially I need the python-pyexiv2 package for Ubuntu 20.04 and
> > it's only available up to 19.10.
> >
> 
> You might be partly out of luck. I'm not seeing any pyexiv package for
> Python 3 either in Ubuntu or Debian. But there is another way: you
> might be able to just install it with pip. You mentioned that it's on
> PyPI, so try this:
> 
> python3 -m pip install py3exiv2
> 
> (best inside a virtual environment, but otherwise you might need sudo)
> 
> My reading of the PyPI pages is that the original Python 2 library was
> created by one person (Michael Vanslembrouck), and then someone else
> (VinsS) did the Python 3 port, which means it had to get a different
> name.
> 
Yes, but trying to install it with pip[3] was what took me down into
dependency hell, maybe I should persevere.

> You could agitate to get py3exiv2 added to the Ubuntu repositories,
> but in the meantime, if you can install it with pip, that should be
> viable. I install most things using pip, but then, I also tend to have
> versions of Python that aren't supported by upstream (*cough*
> currently running 3.10...) :)
> 
I have quite a lot of things installed with pip, however I've never
had this problem with dependencies before.  Adding to the fun is that
my system has still got Python 2 as the default Python so I have to
run pip3 explicitly to get Python 3 code.

Maybe I should bite the bullet and make Python 3 the default Python
and see what falls over as a consequence.

-- 
Chris Green
·


More information about the Python-list mailing list