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

Chris Angelico rosuav at gmail.com
Tue Aug 18 14:06:03 EDT 2020


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.

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...) :)

ChrisA


More information about the Python-list mailing list