¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re : NanoVNA-Saver Linux update procedure


 

Somebody wrote:

======================================================
/However if I just do this into a clean directory...//
//
//$ git clone
//$ python3.7 ./nanovna-saver/nanovna-saver.py//
//
//then nanovna-saver runs fine, with no "python3.7 -m pip install ."/

======================================================

Oh, I wish that would work also for Debian Buster....? but it doesn't....
This is a screen capture of what happens when I give those commands :

db@debian:~$ git clone
Cloning into 'nanovna-saver'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 2684 (delta 19), reused 20 (delta 10), pack-reused 2645
Receiving objects: 100% (2684/2684), 1.96 MiB | 2.66 MiB/s, done.
Resolving deltas: 100% (1882/1882), done.

adb@debian:~$ python3.7 ./nanovna-saver/nanovna-saver.py
Traceback (most recent call last):
? File "./nanovna-saver/nanovna-saver.py", line 17, in <module>
??? from NanoVNASaver.__main__ import main
? File "/home/adb/nanovna-saver/NanoVNASaver/__main__.py", line 23, in <module>
??? from .NanoVNASaver import NanoVNASaver
? File "/home/adb/nanovna-saver/NanoVNASaver/NanoVNASaver.py", line 23, in <module>
??? import numpy as np
ModuleNotFoundError: No module named 'numpy'
adb@debian:~$
======================================================
:-(

--
/*73 Alberto I2PHD*
<<< >>>/


 

Hi Alberto,
you will need to have the requirements installed: PyQt5, numpy, scipy and
pyserial. As well as python3.7, which you already have :-)

You can probably get those from apt.

--
Rune / 5Q5R

On Wed, 15 Jan 2020 at 17:22, Alberto I2PHD <i2phd@...> wrote:

Somebody wrote:

======================================================
/However if I just do this into a clean directory...//
//
//$ git clone
//$ python3.7 ./nanovna-saver/nanovna-saver.py//
//
//then nanovna-saver runs fine, with no "python3.7 -m pip install ."/

======================================================

Oh, I wish that would work also for Debian Buster.... but it doesn't....
This is a screen capture of what happens when I give those commands :

db@debian:~$ git clone
Cloning into 'nanovna-saver'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 2684 (delta 19), reused 20 (delta 10), pack-reused 2645
Receiving objects: 100% (2684/2684), 1.96 MiB | 2.66 MiB/s, done.
Resolving deltas: 100% (1882/1882), done.

adb@debian:~$ python3.7 ./nanovna-saver/nanovna-saver.py
Traceback (most recent call last):
File "./nanovna-saver/nanovna-saver.py", line 17, in <module>
from NanoVNASaver.__main__ import main
File "/home/adb/nanovna-saver/NanoVNASaver/__main__.py", line 23, in
<module>
from .NanoVNASaver import NanoVNASaver
File "/home/adb/nanovna-saver/NanoVNASaver/NanoVNASaver.py", line 23,
in <module>
import numpy as np
ModuleNotFoundError: No module named 'numpy'
adb@debian:~$
======================================================
:-(

--
/*73 Alberto I2PHD*
<<< >>>/





 

On Wed, Jan 15, 2020 at 05:29 PM, Rune Broberg wrote:


Hi Alberto,
you will need to have the requirements installed: PyQt5, numpy, scipy and
pyserial. As well as python3.7, which you already have :-)

You can probably get those from apt.
========================================================

Hi Rune,

thanks for your answer. Unfortunately apt-get does not know any of those....
I tried installing PyQt5, numpy, scipy and pyserial, but apt-get declared those as unknown packages...
Probably they are part of a bigger package, but here I need the advice of a Linux expert...


 

Probably they are part of a bigger package,
but here I need the advice of a Linux expert...
You probably want e.g, python3-numpy, python3-pyqt5, etc
Be aware that there are incompatible versions of Python
and many Linux distros try support more than Python 3..


 

Hello Alberto,

You will need to install the libraries explicitly for the python3 that you are using. The most likely names for the files are

python3-numpy
python3-pyqt5
python3-scipy
python3-serial

sudo apt install python3-numpy will likely install the first file in a Debian based distro and probably other distros are using the same name. Ubuntu based editions are using python 3.6.9 and this runs nanoVNAsaver up to version 0.2.1 but for the latest 0.2.2 you need python 3.7 minimum as the nanoVNAsaver code now is using the future feature "annotations" which is not supported in python 3.6 and there seems to be little enthusiasm to add it which is understandable given that python 4 is looming.

Hope that helps,

73, Graeme ZL2APV


 

My parents gave me my first "computer" (a Brainiac) back about 1962. I have been building and programming them ever since then. I thought Pascal was a pretty stupid language, but in all my years I have never encountered a language as fucked up as Python. Just wasted the afternoon trying to build or install PyQt5 on Ubuntu 18.04 following every web tutorial I could find with the result that I now have a bunch of junk to scrub from my system, and no PyQt5, numpy, PtSci, sip ... What a waste. - Ed


 

Probably they are part of a bigger package,
but here I need the advice of a Linux expert...

You probably want e.g, python3-numpy, python3-pyqt5, etc
Be aware that there are incompatible versions of Python
and many Linux distros try support more than Python 3..
===================================

Thanks Oristo,

SUCCESS AT LAST !

I installed these three packages :? python3-numpy, python3-scipy and python3-serial
and then the command

sudo python3.7 ./nanovna-saver/nanovna-saver.py

did work. I was forced to execute it under sudo, otherwise I got some permission errors,
don't remember now the details.

TNX

--
/*73 Alberto I2PHD*
<<< >>>/


 

Ahh this is turning out to be more tricky than I thought. I am using Linux Mint 19.3 which uses python 3.6. It was no problem to load the dependencies which I listed for python 3.6 but they would not work when I used them with python 3.7 which although it looked in the right place for the dist-packages it could not load them so I guess that there are significant changes. Unfortunately I can't simply unload python 3.6 and upgrade to python 3.7 as 3.6 is integrated into too many Mint packages and is really a system file. I guess that I am stuck with nanoVNAsaver 0.2.1 for the next 2 or 3 years until a new Mint version brings a higher version of python or unless I switch to another distro like Arch or openSuse which keep very current.

I like Mint but don't like not progressing nanoVNAsaver.

73, Graeme ZL2APV


 

Alberto, are you a member of the dialout group? If not this is likely to be the reason for needing root access.

Graeme


 

I have it running under Kubuntu 18.04 without a lot of effort. Using the Muon package manager I easily located the proper dependencies and installed them. Installed Python 3.7 from the deadsnakes ppa.



The install instructions for nanvna-saver worked at that point up until the dreaded permision error on /tmp. Running the install with susdo fixed that. In retrospect, I may not have even needed that. K/Ubuntu has a python-pyqt package listed in the package manager.

All this apt-get CLI stuff is great, but Muon can be your best friend. Disclaimer: I usually don't like installing from ppa because I have had strange things happen in the past, but I do make occasional exceptions for ppas that have good reputations.

73

-Jim
NU0C

On Wed, 15 Jan 2020 15:54:41 -0800
"n5kzw" <n5kzw@...> wrote:

My parents gave me my first "computer" (a Brainiac) back about 1962. I have been building and programming them ever since then. I thought Pascal was a pretty stupid language, but in all my years I have never encountered a language as fucked up as Python. Just wasted the afternoon trying to build or install PyQt5 on Ubuntu 18.04 following every web tutorial I could find with the result that I now have a bunch of junk to scrub from my system, and no PyQt5, numpy, PtSci, sip ... What a waste. - Ed



 

I meant sudo of course.

73

-Jim
NU0C

On Wed, 15 Jan 2020 20:22:17 -0600
"Jim Shorney" <jshorney@...> wrote:

install with susdo


 

On 1/15/20 11:02 AM, Alberto I2PHD wrote:
Unfortunately apt-get does not know any of those....
I tried installing PyQt5, numpy, scipy and pyserial, but apt-get declared those as unknown packages...
Probably they are part of a bigger package, but here I need the advice of a Linux expert...

???? apt-get probably won't find them unless you use the exact name.? Synaptic, on the other hand, probably will.? Is Synaptic available in your distro?


 

On 1/15/20 4:12 PM, Graeme Jury wrote:
I can't simply unload python 3.6 and upgrade to python 3.7

???? You don't have to, you can have both 3.6 and 3.7 installed. 3.6 remains the default for the Mint applications, and when you want to start something that requires 3.7, you simply preface it with python3.7, like so:? "python3.7 nanovna-saver.py."?? I currently have the following python versions installed on Mint 19.1 Cinnamon:


jim@jim-P55A-UD3P:~$ python --version
Python 2.7.17

jim@jim-P55A-UD3P:~$ python3 --version
Python 3.6.9

jim@jim-P55A-UD3P:~$ python3.7 --version
Python 3.7.5


 

Hi Graeme,
you can definitely install Python 3.7 next to Python 3.6, if your OS
requires it.

I'm a little confused as to the decision on the Linux Mint packagers to
release 19.3 late last year with Python 3.6, when 3.7 was already more than
18 months old, and 3.8 had just been released as well. Going with a version
that old is bound to cause problems for the users.

--
Rune / 5Q5R

On Thu, 16 Jan 2020 at 01:13, Graeme Jury <gvjury@...> wrote:

Ahh this is turning out to be more tricky than I thought. I am using Linux
Mint 19.3 which uses python 3.6. It was no problem to load the dependencies
which I listed for python 3.6 but they would not work when I used them with
python 3.7 which although it looked in the right place for the
dist-packages it could not load them so I guess that there are significant
changes. Unfortunately I can't simply unload python 3.6 and upgrade to
python 3.7 as 3.6 is integrated into too many Mint packages and is really a
system file. I guess that I am stuck with nanoVNAsaver 0.2.1 for the next 2
or 3 years until a new Mint version brings a higher version of python or
unless I switch to another distro like Arch or openSuse which keep very
current.

I like Mint but don't like not progressing nanoVNAsaver.

73, Graeme ZL2APV




 

On 1/15/20 3:54 PM, n5kzw wrote:
Just wasted the afternoon trying to build or install PyQt5 on Ubuntu 18.04

???? In Mint, which is based on Ubuntu, it's python-pyqt5.? And it comes from Ubuntu:


apt show python-pyqt5
Package: python-pyqt5
Version: 5.10.1+dfsg-1ubuntu2
Priority: optional
Section: universe/python
Source: pyqt5
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@...>


John Ackermann N8UR
 

Note too that on Debian derived systems you need to specify python major version when you apt libraries.? e.g., "apt install python-numpy" gets for v2.? "apt install python3-numpy" gets for v3.

On Jan 16, 2020, 1:35 AM, at 1:35 AM, Jim Allyn - N7JA <jim@...> wrote:
On 1/15/20 11:02 AM, Alberto I2PHD wrote:
Unfortunately apt-get does not know any of those....
I tried installing PyQt5, numpy, scipy and pyserial, but apt-get
declared those as unknown packages...
Probably they are part of a bigger package, but here I need the
advice of a Linux expert...


???? apt-get probably won't find them unless you use the exact name.?
Synaptic, on the other hand, probably will.? Is Synaptic available in
your distro?


 

On Thu, Jan 16, 2020 at 08:26 AM, Rune Broberg wrote:

I'm a little confused as to the decision on the Linux Mint packagers to
release 19.3 late last year with Python 3.6, when 3.7 was already more than
18 months old, and 3.8 had just been released as well. Going with a version
that old is bound to cause problems for the users.
Yes, we might even have got a newer version of python-pip3 - see below.

Anyway, getting near to the bottom of this now. Following notes apply to LM19.3.

As I understand it

$ python3.7 -m pip install .

parses ~/nanovna-saver/requirements.txt and installs the latest versions of the required python distribution packages if they are not already installed i.e.

scipy
pyqt5
pyserial
numpy

pip will always install the latest versions, not whatever (older) versions happen to be available from the distro package management system - which is good.

Since 15.12.19 when I installed nanovna-saver-0.2.2a there have been two new versions of PyQt5...



The installation error reported arises when pip3 attempts to install PyQt5==5.14.1. We are not alone...



The pip3 version provided with the distro package python3-pip appears to be too old.

$ pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

Having read more about it seems that using sudo with pip3 to overcome the error (as suggested in my earlier post #9634 and elsewhere) is a bad idea; if you need to use sudo you are probably trying to modify a distro file.

There is no easy way to upgrade the version of pip3 supplied by the distro package python3-pip. If the package manager advertises a new version then you can install that as an update. It's a distro file and you shouldn't try to upgrade it any other way. I managed to break (and fix) pip3 several times in the attempt.

One way round this problem would be to install nanovna-saver in a python virtual environment.

Another way is to modify ~/nanovna-saver/requirements.txt...

scipy
pyqt5==5.13.2
pyserial
numpy

then from ~/nanovna-saver/

$ python3.7 -m pip install -r ./requirements.txt .

This installs PyQt5==5.13.2 which is the version I used on 15.12.19.

I have tested this and it seems to work properly.

I do not understand why I had to explicitly specify the path to requirements.txt though.

Nick


Pierre Martel
 

I have a question, from what I see. the problem seem to com from debian
flavored distro.

Anyone can report what version and linux distro they are using where
NanoVNA-saver works right away?

I am willing to change distro if it comes that that.

Pierre
VE2PF

Le jeu. 16 janv. 2020 ¨¤ 10:37, Nick <g3vnc@...> a ¨¦crit :

On Thu, Jan 16, 2020 at 08:26 AM, Rune Broberg wrote:

I'm a little confused as to the decision on the Linux Mint packagers to
release 19.3 late last year with Python 3.6, when 3.7 was already more
than
18 months old, and 3.8 had just been released as well. Going with a
version
that old is bound to cause problems for the users.
Yes, we might even have got a newer version of python-pip3 - see below.

Anyway, getting near to the bottom of this now. Following notes apply to
LM19.3.

As I understand it

$ python3.7 -m pip install .

parses ~/nanovna-saver/requirements.txt and installs the latest versions
of the required python distribution packages if they are not already
installed i.e.

scipy
pyqt5
pyserial
numpy

pip will always install the latest versions, not whatever (older) versions
happen to be available from the distro package management system - which is
good.

Since 15.12.19 when I installed nanovna-saver-0.2.2a there have been two
new versions of PyQt5...



The installation error reported arises when pip3 attempts to install
PyQt5==5.14.1. We are not alone...



The pip3 version provided with the distro package python3-pip appears to
be too old.

$ pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

Having read more about it seems that using sudo with pip3 to overcome the
error (as suggested in my earlier post #9634 and elsewhere) is a bad idea;
if you need to use sudo you are probably trying to modify a distro file.

There is no easy way to upgrade the version of pip3 supplied by the distro
package python3-pip. If the package manager advertises a new version then
you can install that as an update. It's a distro file and you shouldn't
try to upgrade it any other way. I managed to break (and fix) pip3 several
times in the attempt.

One way round this problem would be to install nanovna-saver in a python
virtual environment.

Another way is to modify ~/nanovna-saver/requirements.txt...

scipy
pyqt5==5.13.2
pyserial
numpy

then from ~/nanovna-saver/

$ python3.7 -m pip install -r ./requirements.txt .

This installs PyQt5==5.13.2 which is the version I used on 15.12.19.

I have tested this and it seems to work properly.

I do not understand why I had to explicitly specify the path to
requirements.txt though.

Nick




 

On Thu, Jan 16, 2020 at 12:12 AM, Graeme Jury wrote:


Ahh this is turning out to be more tricky than I thought. I am using Linux
Mint 19.3 which uses python 3.6. It was no problem to load the dependencies
which I listed for python 3.6 but they would not work when I used them with
python 3.7 which although it looked in the right place for the dist-packages
it could not load them so I guess that there are significant changes.
Unfortunately I can't simply unload python 3.6 and upgrade to python 3.7 as
3.6 is integrated into too many Mint packages and is really a system file.
Hi Graeme

Sorry to hear that you cannot get nvna-s working on LM19.3. Same setup works fine here.



At what point does this install process fail? What are the error messages?

Nick
G3VNC


 

I am running Python 3.6 with 32-bit Ubuntu 18.04 and it does direct Python interpret (not compiled) of nanoVNA-saver version 0.2.1 without problems, as best I can see. In playing with this, it appears that Python 3.5 would be OK, but not anything earlier. This used direct apt downloads using the Synaptic package manager. I am not sure of what you can get with 64-bit packages, but for 32-bit, the latest available is Python 3.6.

To use Synaptic, you need to search on python3.6, numpy, scipy, PyQt5, serial and be sure you don't grab a Python2 package as they will usually show up first! Details like pyserial vs serial will be taken care of in the search.

Does anyone know of a reason to need 3.7 (or 3.8) instead of the readily available Python 3.6?

My goal is to use an old dusty IBM 32-bit laptop as a dedicated front panel for the nanoVNA. It has USB ports and an adequate display, so it appears to be ideal to give it a new life. I am also playing with doing this with Tahr Puppy Linux that would cut back on memory requirements as well as providing a live-boot capability that could help others. This is progressing pretty well, so far.

Bob W7PUA