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:10:00 UTC
[jira] [Updated] (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:all-tabpanel ]
Jiri Daněk updated PROTON-2518:
-------------------------------
Description:
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.
was:
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.
> 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