Xilinx/PYNQ_Composable_Pipeline

Install error in PynqZ2

Closed this issue · 9 comments

Kgfu commented

Hi,
I'm trying to install the PYNQ_Composable_Pipeline in my Pynq-Z2 board and got below error message in step 2:
python3 -m pip install PYNQ_Composable_Pipeline/ --no-build-isolation
Defaulting to user installation because normal site-packages is not writeable
Processing ./PYNQ_Composable_Pipeline
Preparing metadata (setup.py) ... done
Collecting graphviz>=0.17
Using cached graphviz-0.19.1-py3-none-any.whl (46 kB)
Collecting pynq>=2.7.0
Using cached pynq-2.7.0.tar.gz (64.2 MB)
Preparing metadata (setup.py) ... done
ERROR: Package 'pynq-composable' requires a different Python: 3.6.5 not in '>=3.8.0'

Maybe due to the kernel version is too old can't install Python 3.8 directly, I also try to download the source code, rebuild, and install the Python 3.8, but the still got different error:
Processing ./PYNQ_Composable_Pipeline
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-hvd6m0wd/setup.py'"'"'; file='"'"'/tmp/pip-req-build-hvd6m0wd/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: /tmp/pip-req-build-hvd6m0wd/
Complete output (5 lines):
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-req-build-hvd6m0wd/setup.py", line 18, in
from pynq.utils import build_py
ModuleNotFoundError: No module named 'pynq'
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 19.2.3, however version 22.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Does anyone can help me to fix this error?

Kgfu commented

Sorry for my stupid problem. I'm using the v2.6.0 SDCard image for the previous test.
Update the image to v2.7.0 and can support python 3.8, the problem will be fixed.
Productivity additions
Updated to Python 3.8
https://github.com/Xilinx/PYNQ/releases

Yes, that's correct. You need the SD Card image 2.7 to install the composable overlay.

Kgfu commented

Sorry to bother you again.
I found a warming/error message during the step 3:
pynq-get-notebooks pynq-composable -p $PYNQ_JUPYTER_NOTEBOOKS
xilinx@pynq:~$ pynq-get-notebooks pynq-composable -p $PYNQ_JUPYTER_NOTEBOOKS
/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq/pl_server/xrt_device.py:88: UserWarning: xbutil failed to run - unable to determine XRT version
warnings.warn(
Notebooks 'pynq_composable.notebooks' are already delivered and will be ignored, use --force to override.

Does this message should be ignored?

Another problem, I ran the custom_pipeline/01_composable_overlay_intro.ipynb, but got below error seems can't find the pynq_composable:


ModuleNotFoundError Traceback (most recent call last)
in
1 from pynq import Overlay
----> 2 import pynq_composable
3
4 ol = Overlay("cv_dfx_4_pr.bit")

ModuleNotFoundError: No module named 'pynq_composable'

I checked the pynq-composable is ready installed now by command: pip list
pynq-composable 1.0.0

Do you have any idea about it?

Where did you run the install steps? You should run them in a JupyterLab terminal or as root.

Kgfu commented

Where did you run the install steps? You should run them in a JupyterLab terminal or as root.

pynq-get-notebooks pynq-composable -p $PYNQ_JUPYTER_NOTEBOOKS
/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq/pl_server/xrt_device.py:88: UserWarning: xbutil failed to run - unable to determine XRT version
warnings.warn(
Notebooks 'pynq_composable.notebooks' are already delivered and will be ignored, use --force to override.

I'm running these steps on my PYNQ-Z2 board by terminal, and open the Jupyter notebook by the website:
http://xxx.xxx.xxx.xxx:9090/notebooks/pynq-composable/custom_pipeline/01_composable_overlay_intro.ipynb

I mean the installation steps, from your log, you are running as regular user xilinx@pynq.
Please, rerun the installation steps in a JupyterLab terminal. <IP address>:9090/lab https://jupyterlab.readthedocs.io/en/stable/user/terminal.html

Kgfu commented

Thanks for your explanation. Switch user to root and re-run the install step2 and 3:
python3 -m pip install PYNQ_Composable_Pipeline/ --no-build-isolation
pynq-get-notebooks pynq-composable -p $PYNQ_JUPYTER_NOTEBOOKS

The pynq_composable can be found in the 01_composable_overlay_intro.ipynb

Why we can't install the pynq-composable module by the reqular user? Does it mean the user is 'root' when I connect the ipynb by the :9090??

pynq needs to run as root. So we need to be in the same env. Yes, when you connect to the notebooks you are running as root.