You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2022/03/15 15:25:00 UTC

[jira] [Commented] (PROTON-2518) Installing Python bindings via pip in a venv causes an ImportError

    [ https://issues.apache.org/jira/browse/PROTON-2518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17506980#comment-17506980 ] 

Jiri Daněk commented on PROTON-2518:
------------------------------------

This might possibly be fixed by https://issues.apache.org/jira/browse/PROTON-2492. That issue tried to ensure that Python module links with the correct openssl.

It is IMO still possible that when there are multiple locations containing openssl, that the script picks the wrong one even after PROTON-2492. So I cannot swear this is fixed.

> Installing Python bindings via pip in a venv causes an ImportError
> ------------------------------------------------------------------
>
>                 Key: PROTON-2518
>                 URL: https://issues.apache.org/jira/browse/PROTON-2518
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: proton-c-0.36.0
>         Environment: CentOS 7
> Python 3.8.12 (Anaconda 4.11.0)
> Using a standard venv within that. That is I created a python virtual environment inside an anaconda environment. (Not my choice but if it makes a difference I've run into the same issue without it)
>            Reporter: Paul Banks
>            Priority: Major
>
> When attempting to use the Qpid Proton libraries by installing the `python-qpid-proton` package in pip an ImportError appears related to the _cproton shared object.
> I was able to recreate it with a python 3.6.8 virtual environment. The error is the same in my python 3.8.12 environment. I am attempting to run one of the provided examples.
> {code:java}
> Traceback (most recent call last):
>   File "/export/home/pbanks/Downloads/qpid-proton-0.36.0/python/examples/simple_recv.py", line 22, in <module>
>     from proton.handlers import MessagingHandler
>   File "/export/home/pbanks/anaconda3/envs/testEnviron/lib/python3.6/site-packages/proton/__init__.py", line 35, in <module>
>     from cproton import PN_VERSION_MAJOR, PN_VERSION_MINOR, PN_VERSION_POINT
>   File "/export/home/pbanks/anaconda3/envs/testEnviron/lib/python3.6/site-packages/cproton.py", line 15, in <module>
>     import _cproton
> ImportError: /export/home/pbanks/anaconda3/envs/testEnviron/lib/python3.6/site-packages/_cproton.cpython-36m-x86_64-linux-gnu.so: undefined symbol: CRYPTO_set_locking_callback{code}
> Normally in CentOS7 I would use the Fedora provided yum package `python36-qpid-proton` as that works without issue.
> My current workaround is to replace the shared object provided by the pip package with the yum package.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org