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

Jiri Daněk edited comment on PROTON-2550 at 5/26/22 6:51 PM:
-------------------------------------------------------------

Maybe add {{--single-version-externally-managed}} to setup.py execution. It 
helped in the router with a similar problem, 
https://github.com/skupperproject/skupper-router/commit/d92f53e923ed7b9fd06070513309d31888a5610b

bq. After building proton, installing the python bindings using the generated 
setup.py does not create all of the necessary directories when used with the 
--prefix option. In particular, a directory using the module name proton is 
missing.

When installing the package by hand, it is best to use the generated .tar.gz or 
.wheel file and install it with pip. There is {{pip --prefix}} and other such 
options. That install should work ok.


was (Author: jdanek):
Maybe add {{--single-version-externally-managed}} to setup.py execution. It 
helped in the router with a similar problem, 
https://github.com/skupperproject/skupper-router/commit/d92f53e923ed7b9fd06070513309d31888a5610b

> [python-binding] setup.py install does not create module directory when using 
> --prefix
> --------------------------------------------------------------------------------------
>
>                 Key: PROTON-2550
>                 URL: https://issues.apache.org/jira/browse/PROTON-2550
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>            Reporter: Kim van der Riet
>            Assignee: Andrew Stitcher
>            Priority: Major
>
> After building proton, installing the python bindings using the generated 
> *{{setup.py}}* does not create all of the necessary directories when used 
> with the *{{--prefix}}* option. In particular, a directory using the module 
> name *{{proton}}* is missing.
> The following install command from the cmake build directory:
> {noformat}
> $ export PYTHONPATH=/tmp/lib64/python3.10/site-packages
> $ cd python/dist/
> $ python setup.py install --prefix /tmp
> $ ls -l /tmp/lib64/python3.10/site-packages/
> total 3
> -rw-rw-r--. 1 kvdr kvdr  57 May 26 11:58 easy-install.pth
> drwxrwxr-x. 5 kvdr kvdr 160 May 26 11:58 
> python_qpid_proton-0.38.0.dev0-py3.10-linux-x86_64.egg
> {noformat}
> produces a single {{python_qpid_proton-0.38.0.dev0-py3.10-linux-x86_64.egg}} 
> directory (and a {{easy-install.pth}} file if the {{PYTHONPATH}} is set prior 
> to the install).
> This is insufficient to use module proton, even with the PYTHONPATH set:
> {noformat}
> $ cd ~ # Exit from dist directory which contains python install artifacts
> $ echo $PYTHONPATH
> /tmp/lib64/python3.10/site-packages
> $ python
> >>> import proton
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ModuleNotFoundError: No module named 'proton'
> >>> 
> {noformat}
> However, a workaround exists by adding a symbolic link *{{proton}}* pointing 
> to the .egg directory:
> {noformat}
> $ cd /tmp/lib64/python3.10/site-packages/
> $ ln -s python_qpid_proton-0.38.0.dev0-py3.10-linux-x86_64.egg proton
> $ cd ~ # Exit from dist directory which contains python install artifacts
> $ python
> >>> import proton
> >>> proton.__path__
> _NamespacePath(['/tmp/lib64/python3.10/site-packages/proton'])
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to