2

At Ubuntu 18.04 I successfully installed openalpr and tested it. Now I want to use python to call it. To do this, I installed https://pypi.org/project/openalpr/

pip install openalpr

But I'm having trouble with the paths, the ones in the example don't work.

alpr = Alpr("eu", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data")

I get an error

>>> from openalpr import Alpr
>>> alpr = Alpr("eu", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/y700/Env/carplate/lib/python3.7/site-packages/openalpr/openalpr.py", line 95, in __init__
    self._add_encoded_image_to_batch_func = self._openalprpy_lib.openalpr_add_encoded_image_to_batch
  File "/home/y700/anaconda3/lib/python3.7/ctypes/__init__.py", line 369, in __getattr__
    func = self.__getitem__(name)
  File "/home/y700/anaconda3/lib/python3.7/ctypes/__init__.py", line 374, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/libopenalpr.so.2: undefined symbol: openalpr_add_encoded_image_to_batch
Jekson
  • 2,892
  • 8
  • 44
  • 79

2 Answers2

2

After a few hours of searching, I found a solution that doesn't require a package installation pip install openalpr

  • Go to the directory that holds the openaltr source code.
cd openalpr/src/bindings/python/
  • Run setup to install openalpr as a system-wide python package.
sudo python3 setup.py install
  • Start an interactive Python session.
python3
  • Create an alpr object to use.
from openalpr import Alpr
alpr = Alpr("us", "/etc/openalpr/openalpr.conf", "/usr/share/openalpr/runtime_data/")
David Medinets
  • 5,160
  • 3
  • 29
  • 42
Jekson
  • 2,892
  • 8
  • 44
  • 79
1

I had this error but after manual openalpr install, and doing:

cd openalpr/src/bindings/python/

sudo python3 setup.py install

this fix worked OK for me.

John Beale
  • 91
  • 6