Hi all
I came across a make issue when building PYNQ for the rfsoc qpsk demo GitHub - strath-sdr/rfsoc_qpsk: PYNQ example of using the RFSoC as a QPSK transceiver. .
If for example, you checkout version 2.4 of PYNQ as shown below, the image can be built with different python packages installed. This causes an issue when running Jupyter because the associated widgets and components used are not compatible with the versions of python packages which happened to be included in the image at the time of the make.
git clone -v --recurse-submodules --progress βGitHub - Xilinx/PYNQ: Python Productivity for ZYNQ β
git checkout tags/v2.4 -b mybranch_2.4
git submodule update --init --recursive
I would also suggest that a clone and checkout of a particular version of PYNQ should produce the same image at all times with the same versions of python packages installed. Otherwise debugging is complicated because there is no direct means to revert to a common known configuration and associated set of python packages.
For further information please refer to
opened 06:34AM - 21 Jun 19 UTC
closed 05:06AM - 05 Jul 19 UTC
Hi There,
Unfortunately when I try to use jupyterlab or jupyter notebook I get β¦ the following error
AttributeError: module 'plotly.graph_objs' has no attribute 'FigureWidget'
When I try to use jupyterlab I get the additional error
Javascript Error: require is not defined
I installed the packages as per https://github.com/strath-sdr/rfsoc_qpsk
pip3 install --upgrade git+https://github.com/strath-sdr/rfsoc_qpsk.git
jupyter labextension install @jupyter-widgets/jupyterlab-manager@0.38 --no-build
jupyter labextension install plotlywidget@0.10.0 --no-build
jupyter labextension install @jupyterlab/plotly-extension@0.18 --no-build
jupyter lab build
systemctl restart jupyter
I think there is a package compatibility issue with the install. My installed packages are
root@pynq:/home/xilinx# pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) inyour pip.conf under the [list] section) to disable this warning.
2ping (4.1)
alabaster (0.7.8)
asn1crypto (0.24.0)
attrs (17.4.0)
Babel (2.4.0)
beautifulsoup4 (4.6.0)
bleach (2.1.2)
certifi (2019.6.16)
cffi (1.11.5)
chardet (3.0.4)
Click (7.0)
cryptography (2.1.4)
cycler (0.10.0)
Cython (0.26.1)
dash (0.21.1)
dash-core-components (0.23.0)
dash-html-components (0.11.0)
dash-renderer (0.13.0)
decorator (4.4.0)
deltasigma (0.2.2)
docutils (0.14)
entrypoints (0.2.3.post1)
Flask (1.0.3)
Flask-Compress (1.4.0)
html5lib (0.999999999)
httplib2 (0.9.2)
idna (2.8)
imagesize (0.7.1)
imutils (0.5.2)
ipykernel (4.8.2)
ipython (5.5.0)
ipython-genutils (0.2.0)
ipywidgets (6.0.0)
itsdangerous (1.1.0)
Jinja2 (2.10)
jsonschema (2.6.0)
jupyter-client (5.2.2)
jupyter-contrib-core (0.3.3)
jupyter-contrib-nbextensions (0.5.1)
jupyter-core (4.4.0)
jupyter-highlight-selected-word (0.2.0)
jupyter-latex-envs (1.4.6)
jupyter-nbextensions-configurator (0.4.1)
jupyterlab (0.35.6)
jupyterlab-server (0.2.0)
keyring (10.6.0)
keyrings.alt (3.0)
lxml (4.2.1)
MarkupSafe (1.0)
matplotlib (2.1.1)
mistune (0.8.3)
mpmath (1.0.0)
nbconvert (5.3.1)
nbformat (4.4.0)
nbsphinx (0.3.1)
nbwavedrom (0.2.0)
netifaces (0.10.4)
networkx (1.11)
nose (1.3.7)
notebook (5.2.2)
numexpr (2.6.4)
numpy (1.13.3)
olefile (0.45.1)
pandas (0.22.0)
pandocfilters (1.4.2)
pexpect (4.2.1)
pickleshare (0.7.4)
Pillow (5.1.0)
pip (9.0.1)
plotly (3.9.0)
pluggy (0.6.0)
ply (3.11)
prompt-toolkit (1.0.15)
psutil (5.4.2)
py (1.5.2)
pycparser (2.18)
pycrypto (2.6.1)
pycurl (7.43.0.1)
pyeda (0.28.0)
Pygments (2.2.0)
pygobject (3.26.1)
pygraphviz (1.4rc1)
pynq (2.4)
pyparsing (2.2.0)
pytest (3.3.2)
pytest-sourceorder (0.5)
python-apt (1.6.0)
python-dateutil (2.6.1)
pytz (2019.1)
PyWavelets (0.5.1)
pyxdg (0.25)
PyYAML (3.12)
pyzmq (16.0.2)
requests (2.22.0)
requests-unixsocket (0.1.5)
retrying (1.3.3)
rfsoc-qpsk (1.0)
rise (5.2.0)
roman (2.0.0)
scikit-image (0.13.1)
scipy (0.19.1)
SecretStorage (2.3.1)
setuptools (39.0.1)
simplegeneric (0.8.1)
six (1.12.0)
Sphinx (1.6.7)
sphinx-rtd-theme (0.4.3)
SQLAlchemy (1.1.11)
ssh-import-id (5.7)
sympy (1.1.1)
systemd-python (234)
tables (3.4.2)
terminado (0.7)
testpath (0.3.1)
tornado (4.5.3)
traitlets (4.3.2)
transitions (0.5.3)
unattended-upgrades (0.1)
urllib3 (1.25.3)
uvloop (0.8.1)
wcwidth (0.1.7)
webencodings (0.5)
Werkzeug (0.15.4)
wheel (0.30.0)
widgetsnbextension (2.0.1)
xrfclk (0.1)
xrfdc (0.1)
root@pynq:/home/xilinx#
Therefore I would be grateful if someone would advise me if they have seen this issue and if there are any fixes available please provide the details.
Regards
Walter
Regards
Walter
1 Like
I definitely agree!
It would be great if the installed package versions were totally deterministic. That way, we can give overlay developers much better guarantees about the system when they depend on a certain version of PYNQ.
For what itβs worth, some of this non-determinism is from the python packages listed without an explicit version in this file . Perhaps someone with more knowledge of the SD build flow could confirm if this is the only place this happens?
Cheers,
Craig