Two things you need to adjust, based on that "command not found" error.
The executable is not in the PATH system / user variable, so you can add to
your users $HOME/.bash_provilfe
export PATH="$PATH:/path/to/your/app/bin"
Furthermore depending if you are on v4 or v5 the commands change to install
extensions
# Install Extensions (WeeWX 4.x)
./${WEEWX_PATH}/bin/wee_extension --install /tmp/${WEEWX_MQTT_ARCHIVE}
./${WEEWX_PATH}/bin/wee_extension --install
/tmp/${WEEWX_INTERCEPTOR_ARCHIVE}
# Install Extensions (WeeWX 5.x)
./${WEEWX_PATH}/bin/weectl extension install /tmp/${WEEWX_MQTT_ARCHIVE}
./${WEEWX_PATH}/bin/weectl extension install
/tmp/${WEEWX_INTERCEPTOR_ARCHIVE}
If you are interested, but still on v4 for now, I packaged everything into
a nice Docker image, since I couldn't use the other Docker image available,
but you need to build it yourself using Docker / Podman, so not so sure how
much familiar you are with those:
https://github.com/luckylinux/weewx-docker
For my Sainlogic WS3500 I have this
cat ~/containers/config/weewx-server/weewx.conf
===============================================================================
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2022 Tom Keffer <[email protected]>
# See the file LICENSE.txt for your rights.
##############################################################################
# This section is for general configuration information.
# Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 0
# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /home/weewx
# Whether to log successful operations. May get overridden below.
log_success = True
# Whether to log unsuccessful operations. May get overridden below.
log_failure = True
# Do not modify this. It is used when installing and updating weewx.
version = 4.10.2
##############################################################################
# This section is for information about the station.
[Station]
# Description of the station location
location = "Homelab"
# Latitude in decimal degrees. Negative for southern hemisphere
latitude = XXXXXXXXXXXX
# Longitude in decimal degrees. Negative for western hemisphere.
longitude = XXXXXXXXXXXX
# Altitude of the station, with the unit it is in. This is used only
# if the hardware cannot supply a value.
altitude = 700, foot # Choose 'foot' or 'meter' for unit
# Set to type of station hardware. There must be a corresponding stanza
# in this file, which includes a value for the 'driver' option.
station_type = Interceptor
# If you have a website, you may specify an URL. This is required if you
# intend to register your station.
#station_url = http://www.example.com
# The start of the rain year (1=January; 10=October, etc.). This is
# downloaded from the station if the hardware supports it.
rain_year_start = 1
# Start of week (0=Monday, 6=Sunday)
week_start = 0
# Polling mode
#polling_mode = PERIODIC
# How often to retrieve new data (seconds)
#polling_interval = 2
##############################################################################
[Interceptor]
# This section is for the network traffic interceptor driver.
# The driver to use:
driver = user.interceptor
# Specify the hardware device to capture. Options include:
# acurite-bridge - acurite internet bridge, smarthub, or access
# observer - fine offset WH2600/HP1000/HP1003, ambient WS2902
# lw30x - oregon scientific LW301/LW302
# lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
# ecowitt-client - any hardware that uses the ecowitt protocol
# wu-client - any hardware that uses the weather underground protocol
device_type = ecowitt-client
# Hardware Name
hardware_name = Sainlogic WS3500
# Port to Listen to
port = 8080
mode = listen
# Update Interval / Frequency
#sensor_interval = 0.1 # numer of minutes between sensor updates
#history_interval = 3 # integer value in [0-7]
#ping_interval = 10 # number of seconds between gateway pings
[[sensor_map_extensions]]
# Ecowitt GW1100 Sainlogic WS3500 WH65
station_interval = station_interval
# This section is for uploading data to Internet sites
[StdRESTful]
# Uncomment and change to override logging for uploading services.
log_success = True
log_failure = True
[[MQTT]]
enable = True
server_url = mqtt://192.168.4.10:1883
topic = weather-station/east
unit_system = METRIC
qos = 1 # options are 0, 1, 2
retain = False # options are True or False
aggregation = "individual,aggregate" # individual, aggregate, or
both
binding = loop # options are loop or archive
#data_binding = wx_binding # or any other valid data binding
[[StationRegistry]]
# To register this weather station with weewx, set this to true,
# then fill out option 'station_url', located in the [Station]
section above.
register_this_station = False
[[AWEKAS]]
# This section is for configuring posts to AWEKAS.
# If you wish to post to AWEKAS, set the option 'enable' to true,
then specify a username
# and password. To guard against parsing errors, put the password
in quotes.
enable = False
username = replace_me
password = replace_me
[[CWOP]]
# This section is for configuring posts to CWOP.
# If you wish to post to CWOP, set the option 'enable' to true,
# then specify the station ID (e.g., CW1234).
enable = False
station = replace_me
# If this is an APRS (radio amateur) station, specify the
# passcode (e.g., 12345). Otherwise, ignore.
passcode = replace_me
[[PWSweather]]
# This section is for configuring posts to PWSweather.com.
# If you wish to post to PWSweather.com, set the option 'enable' to
true, then specify a
# station and password. To guard against parsing errors, put the
password in quotes.
enable = False
station = replace_me
password = replace_me
[[WOW]]
# This section is for configuring posts to WOW.
# If you wish to post to WOW, set the option 'enable' to true, then
specify a station and
# password. To guard against parsing errors, put the password in
quotes.
enable = False
station = replace_me
password = replace_me
[[Wunderground]]
# This section is for configuring posts to the Weather Underground.
# If you wish to post to the Weather Underground, set the option
'enable' to true, then
# specify a station (e.g., 'KORHOODR3') and password. To guard
against parsing errors, put
# the password in quotes.
enable = False
station = replace_me
password = replace_me
# If you plan on using wunderfixer, set the following
# to your API key:
api_key = replace_me
# Set the following to True to have weewx use the WU "Rapidfire"
# protocol. Not all hardware can support it. See the User's Guide.
rapidfire = False
##############################################################################
# This section specifies what reports, using which skins, to generate.
[StdReport]
# Where the skins reside, relative to WEEWX_ROOT
SKIN_ROOT = skins
# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = public_html
# Uncomment and change to override logging for reports
log_success = True
log_failure = True
# The database binding indicates which data should be used in reports.
data_binding = wx_binding
# Unit System
unit_system = metric
# Each of the following subsections defines a report that will be run.
# See the customizing guide to change the units, plot types and line
# colors, modify the fonts, display additional sensor data, and other
# customizations. Many of those changes can be made here by overriding
# parameters, or by modifying templates within the skin itself.
[[SeasonsReport]]
# The SeasonsReport uses the 'Seasons' skin, which contains the
# images, templates and plots for the report.
skin = Seasons
unit_system = metric
enable = True
lang = en
[[SmartphoneReport]]
# The SmartphoneReport uses the 'Smartphone' skin, and the images
and
# files are placed in a dedicated subdirectory.
skin = Smartphone
unit_system = metric
enable = False
lang = en
HTML_ROOT = public_html/smartphone
[[MobileReport]]
# The MobileReport uses the 'Mobile' skin, and the images and files
# are placed in a dedicated subdirectory.
skin = Mobile
unit_system = metric
enable = False
lang = en
HTML_ROOT = public_html/mobile
[[StandardReport]]
# This is the old "Standard" skin. By default, it is not enabled.
skin = Standard
unit_system = metric
enable = False
lang = en
[[FTP]]
# FTP'ing the results to a webserver is treated as just another
report,
# albeit one with an unusual report generator!
skin = Ftp
# If you wish to use FTP, set "enable" to "true", then
# fill out the next four lines.
# Use quotes around passwords to guard against parsing errors.
enable = False
user = replace_me
password = replace_me
server = replace_me # The ftp server name, e.g, www.myserver.org
path = replace_me # The destination directory, e.g., /weather
# Set to True for an FTP over TLS (FTPS) connection. Not all servers
# support this.
secure_ftp = False
# To upload files from something other than what HTML_ROOT is set
# to above, specify a different HTML_ROOT here.
#HTML_ROOT = public_html
# Most FTP servers use port 21
port = 21
# Set to 1 to use passive mode, zero for active mode
passive = 1
[[RSYNC]]
# rsync'ing to a webserver is treated as just another report
skin = Rsync
# If you wish to use rsync, you must configure passwordless ssh
using
# public/private key authentication from the user account that weewx
# runs to the user account on the remote machine where the files
# will be copied.
#
# If you wish to use rsync, set "enable" to "true", then
# fill out server, user, and path.
# The server should appear in your .ssh/config file.
# The user is the username used in the identity file.
# The path is the destination directory, such as
/var/www/html/weather.
# Be sure that the user has write permissions on the destination!
enable = false
server = replace_me
user = replace_me
path = replace_me
# To upload files from something other than what HTML_ROOT is set
# to above, specify a different HTML_ROOT here.
#HTML_ROOT = public_html
# Rsync can be configured to remove files from the remote server if
# they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
# make a mistake in the remote path, you could could unintentionally
# cause unrelated files to be deleted. Set to 1 to enable remote
file
# deletion, zero to allow files to accumulate remotely.
delete = 0
# Options in the [[Defaults]] section below will apply to all reports.
# What follows are a few of the more popular options you may want to
# uncomment, then change.
[[Defaults]]
# Which language to use for all reports. Not all skins support all
languages.
# You can override this for individual reports.
lang = en
# Which unit system to use for all reports. Choices are 'us',
'metric', or 'metricwx'.
# You can override this for individual reports.
unit_system = metric
[[[Units]]]
# Option "unit_system" above sets the general unit system, but
overriding specific unit
# groups is possible. These are popular choices. Uncomment and
set as appropriate.
# NB: The unit is always in the singular. I.e., 'mile_per_hour',
# NOT 'miles_per_hour'
[[[[Groups]]]]
group_altitude = meter # Options are
'foot' or 'meter'
group_pressure = hPa # Options are
'inHg', 'mmHg', 'mbar', or 'hPa'
group_rain = mm # Options are
'inch', 'cm', or 'mm'
group_rainrate = mm_per_hour # Options are
'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
group_temperature = degree_C # Options are
'degree_C', 'degree_F', or 'degree_K'
# The following line is used to keep the above lines
indented properly.
# It can be ignored.
unused = unused
# Uncommenting the following section frequently results in more
# attractive formatting of times and dates, but may not work in
# your locale.
[[[[TimeFormats]]]]
# day = %H:%M
# week = %H:%M on %A
# month = %d-%b-%Y %H:%M
# year = %d-%b-%Y %H:%M
# rainyear = %d-%b-%Y %H:%M
# current = %d-%b-%Y %H:%M
# ephem_day = %H:%M
# ephem_year = %d-%b-%Y %H:%M
# The following line is used to keep the above lines
indented properly.
# It can be ignored.
unused = unused
[[[Labels]]]
# Users frequently change the labels for these observation types
[[[[Generic]]]]
inHumidity = Inside Humidity
inTemp = Inside Temperature
outHumidity = Outside Humidity
outTemp = Outside Temperature
# extraTemp1 = Temperature1
# extraTemp2 = Temperature2
# extraTemp3 = Temperature3
# The following line is used to keep the above lines
indented properly.
# It can be ignored.
unused = unused
##############################################################################
# This service acts as a filter, converting the unit system coming from
# the hardware to a unit system in the database.
[StdConvert]
# The target_unit affects only the unit system in the database. Once
# chosen it cannot be changed without converting the entire database.
# Modification of target_unit after starting weewx will result in
# corrupt data - the database will contain a mix of US and METRIC data.
#
# The value of target_unit does not affect the unit system for
# reporting - reports can display US, Metric, or any combination of
units.
#
# In most cases, target_unit should be left as the default: US
#
# In particular, those migrating from a standard wview installation
# should use US since that is what the wview database contains.
# DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
target_unit = US # Options are 'US', 'METRICWX', or 'METRIC'
##############################################################################
# This section can adjust data using calibration expressions.
[StdCalibrate]
[[Corrections]]
# For each type, an arbitrary calibration expression can be given.
# It should be in the units defined in the StdConvert section.
# Example:
foo = foo + 0.2
##############################################################################
# This section is for quality control checks. If units are not specified,
# values must be in the units defined in the StdConvert section.
[StdQC]
[[MinMax]]
barometer = 26, 32.5, inHg
pressure = 24, 34.5, inHg
outTemp = -40, 120, degree_F
inTemp = 10, 120, degree_F
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 120, mile_per_hour
rain = 0, 10, inch
##############################################################################
# This section controls the origin of derived values.
[StdWXCalculate]
[[Calculations]]
# How to calculate derived quantities. Possible values are:
# hardware - use the value provided by hardware
# software - use the value calculated by weewx
# prefer_hardware - use value provide by hardware if available,
# otherwise use value calculated by weewx
pressure = prefer_hardware
altimeter = prefer_hardware
appTemp = prefer_hardware
barometer = prefer_hardware
cloudbase = prefer_hardware
dewpoint = prefer_hardware
ET = prefer_hardware
heatindex = prefer_hardware
humidex = prefer_hardware
inDewpoint = prefer_hardware
maxSolarRad = prefer_hardware
rainRate = prefer_hardware
windchill = prefer_hardware
windrun = prefer_hardware
##############################################################################
# For hardware that supports it, this section controls how often the
# onboard clock gets updated.
[StdTimeSynch]
# How often to check the weather station clock for drift (in seconds)
clock_check = 14400
# How much it can drift before we will correct it (in seconds)
max_drift = 5
##############################################################################
# This section is for configuring the archive service.
[StdArchive]
# If the station hardware supports data logging then the archive
interval
# will be downloaded from the station. Otherwise, specify it (in
seconds).
archive_interval = 300
# If possible, new archive records are downloaded from the station
# hardware. If the hardware does not support this, then new archive
# records will be generated in software.
# Set the following to "software" to force software record generation.
record_generation = hardware
# Whether to include LOOP data in hi/low statistics
loop_hilo = True
# Uncomment and change to override logging for archive operations
# log_success = True
# log_failure = True
# The data binding used to save archive records
data_binding = wx_binding
##############################################################################
# This section binds a data store to a database.
[DataBindings]
[[wx_binding]]
# The database must match one of the sections in [Databases].
# This is likely to be the only option you would want to change.
database = archive_sqlite
# The name of the table within the database
table_name = archive
# The manager handles aggregation of data for historical summaries
manager = weewx.manager.DaySummaryManager
# The schema defines the structure of the database.
# It is *only* used when the database is created.
schema = schemas.wview_extended.schema
##############################################################################
# This section defines various databases.
[Databases]
# A SQLite database is simply a single file
[[archive_sqlite]]
database_name = weewx.sdb
database_type = SQLite
# MySQL
[[archive_mysql]]
database_name = weewx
database_type = MySQL
##############################################################################
# This section defines defaults for the different types of databases.
[DatabaseTypes]
# Defaults for SQLite databases
[[SQLite]]
driver = weedb.sqlite
# Directory in which the database files are located
SQLITE_ROOT = %(WEEWX_ROOT)s/archive
# Defaults for MySQL databases
[[MySQL]]
driver = weedb.mysql
# The host where the database is located
host = localhost
# The user name for logging in to the host
user = weewx
# The password (use quotes to guard against parsing errors)
password = weewx
##############################################################################
# This section configures the internal weewx engine.
[Engine]
# The following section specifies which services should be run and in
what order.
[[Services]]
prep_services = weewx.engine.StdTimeSynch
data_services = ,
process_services = weewx.engine.StdConvert,
weewx.engine.StdCalibrate, weewx.engine.StdQC,
weewx.wxservices.StdWXCalculate
xtype_services = weewx.wxxtypes.StdWXXTypes,
weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater,
weewx.wxxtypes.StdDelta
archive_services = weewx.engine.StdArchive
restful_services = weewx.restx.StdStationRegistry,
weewx.restx.StdWunderground, weewx.restx.StdPWSweather,
weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS,
user.mqtt.MQTT
report_services = weewx.engine.StdPrint, weewx.engine.StdReport
===============================================================================
For a Nginx Separate config file (if desired) I have:
cat ~/containers/config/weewx-nginx/nginx.conf
=================================================================================
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request"
'
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
# Root Folder
root /usr/share/nginx/html;
# Allow Follow Symlinks
disable_symlinks off;
# Allow Directory Listing
autoindex on;
location / {
#try_files $uri /index.html index.php;
alias /usr/share/nginx/html/public_html;
}
location /weewx {
alias /usr/share/nginx/html/public_html;
}
}
include /etc/nginx/conf.d/*.conf;
}
=================================================================================
Docker compose:
cat ~/containers/compose/weevx/compose.yml
=================================================================================
version: "3.8"
services:
weewx-server:
image: localhost/weewx4:debian-latest
# pull_policy: "always"
container_name: weewx-server
init: true
restart: "unless-stopped"
# user: root
networks:
- podman
volumes:
- ~/containers/data/weewx-server:/home/weewx:rw
- ~/containers/config/weewx-server:/etc/weewx:ro
env_file:
- .env
expose:
- 8080
ports:
- 8080:8080 # Must be exposed to make it accessible on the host
environment:
- TIMEZONE=UTC
- ENABLE_INFINITE_LOOP=yes # Set yes for debugging purposes
# - TIMEZONE=UTC
# - WEEWX_UID=root
# - WEEWX_GID=root
# devices:
# - "/dev/ttyUSB0:/dev/ttyUSB0"
weewx-nginx:
image: nginx:latest
pull_policy: "always"
container_name: weewx-nginx
volumes:
- ~/containers/data/weewx-server/skins:/usr/share/nginx/html/skins:ro
-
~/containers/data/weewx-server/public_html:/usr/share/nginx/html/public_html:ro
- ~/containers/config/weewx-nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ~/containers/log/weewx-nginx:/var/log/nginx
expose:
- 80
ports:
- 8081:80
networks:
- podman
labels:
- "traefik.enable=true"
-
"traefik.http.routers.meteo-east-router.rule=Host(`meteo-east.MYDOMAIN.TLD`)"
-
"traefik.http.routers.meteo-east-router.middlewares=meteo-east-Headers"
-
"traefik.http.middlewares.meteo-east-Headers.headers.customrequestheaders.Connection=Upgrade"
-
"traefik.http.services.meteo-east-service.loadbalancer.server.port=80"
- "traefik.docker.network=traefik"
# userns_mode: "host"
networks:
podman:
external: true
=================================================================================
cat ~/containers/compose/weevx/.env not really needed, you could disable it
IMHO
=================================================================================
export APP_GIT_REPOSITORY_DEFAULT=$(git config --get remote.origin.url)
=================================================================================
It doesn't have to be with Docker.
But if you do without, it's up to you to adjust the system PATH accordingly
as well as activating the venv PRIOR to executing the program.
And, starting with Debian Bookworm and probably the latest Ubuntu, you get
these messages if pip tries to install into the system path, so you must
use a venv (or disable that warning, although i do NOT suggest that).
Hope this helps !
On Thu, Mar 28, 2024 at 5:42 PM radio4pi <[email protected]> wrote:
>
>
>
> On 20 Mar 2024 at 11:20, Pi Radio <[email protected]> wrote:
>
>
> OK bear with me please... I can't seem to be able to get back onto the
> Forum today either...? Please can you guide me?
>
> I am now following a Tutorial from here;
>
> https://github.com/matthewwall/weewx-interceptor/
> tree/master?tab=readme-ov-file
>
> But I get stuck on something called pip and python-libpcap? This seems to
> put me in a loop trying to get stuff to install...
>
> WEEWX@WEEWX:~ $ sudo pip3 install guizero
> error: externally-managed-environment
>
> × This environment is externally managed
> ╰─> To install Python packages system-wide, try apt install
> python3-xyz, where xyz is the package you are trying to
> install.
>
> If you wish to install a non-Debian-packaged Python package,
> create a virtual environment using python3 -m venv path/to/venv.
> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
> sure you have python3-full installed.
>
> For more information visit http://rptl.io/venv
>
> note: If you believe this is a mistake, please contact your Python
> installation or OS distribution provider. You can override this, at the
> risk of breaking your Python installation or OS, by passing
> --break-system-packages.
> hint: See PEP 668 for the detailed specification.
> WEEWX@WEEWX:~ $ system-wide, try apt install
> python3-xyz
> bash: system-wide,: command not found
> bash: python3-xyz: command not found
> WEEWX@WEEWX:~ $ system-wide, try apt install python3
> bash: system-wide,: command not found
> WEEWX@WEEWX:~ $ system-wide,apt install python3
> bash: system-wide,apt: command not found
> WEEWX@WEEWX:~ $ apt install python3
> E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13:
> Permission denied)
> E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),
> are you root?
> WEEWX@WEEWX:~ $ sudo apt install python3
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> python3 is already the newest version (3.11.2-1+b1).
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> WEEWX@WEEWX:~ $ sudo pip3 install python3
> error: externally-managed-environment
>
> × This environment is externally managed
> ╰─> To install Python packages system-wide, try apt install
> python3-xyz, where xyz is the package you are trying to
> install.
>
> If you wish to install a non-Debian-packaged Python package,
> create a virtual environment using python3 -m venv path/to/venv.
> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
> sure you have python3-full installed.
>
> For more information visit http://rptl.io/venv
>
> note: If you believe this is a mistake, please contact your Python
> installation or OS distribution provider. You can override this, at the
> risk of breaking your Python installation or OS, by passing
> --break-system-packages.
> hint: See PEP 668 for the detailed specification.
> WEEWX@WEEWX:~ $ sudo apt-get install python-pip
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> Package python-pip is not available, but is referred to by another package.
> This may mean that the package is missing, has been obsoleted, or
> is only available from another source
> However the following packages replace it:
> python3-pip
>
> E: Package 'python-pip' has no installation candidate
> WEEWX@WEEWX:~ $ sudo apt-get install python3-pip
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> python3-pip is already the newest version (23.0.1+dfsg-1+rpt1).
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> WEEWX@WEEWX:~ $ python3 -m pip install --upgrade pip
> error: externally-managed-environment
>
> × This environment is externally managed
> ╰─> To install Python packages system-wide, try apt install
> python3-xyz, where xyz is the package you are trying to
> install.
>
> If you wish to install a non-Debian-packaged Python package,
> create a virtual environment using python3 -m venv path/to/venv.
> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
> sure you have python3-full installed.
>
> For more information visit http://rptl.io/venv
>
> note: If you believe this is a mistake, please contact your Python
> installation or OS distribution provider. You can override this, at the
> risk of breaking your Python installation or OS, by passing
> --break-system-packages.
> hint: See PEP 668 for the detailed specification.
> WEEWX@WEEWX:~ $ pip-3.2.
> bash: pip-3.2.: command not found
> WEEWX@WEEWX:~ $ pip-3.2
> bash: pip-3.2: command not found
> WEEWX@WEEWX:~ $ install pip-3.2
> install: missing destination file operand after 'pip-3.2'
> Try 'install --help' for more information.
> WEEWX@WEEWX:~ $ apt install pip-3.2
> E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13:
> Permission denied)
> E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend),
> are you root?
> WEEWX@WEEWX:~ $ sudo apt-get install python-libpcap
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> E: Unable to locate package python-libpcap
> WEEWX@WEEWX:~ $ sudo apt-get install python-libpcap-dev
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> E: Unable to locate package python-libpcap-dev
> WEEWX@WEEWX:~ $ sudo apt-get install libpcap-dev
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> libpcap-dev is already the newest version (1.10.3-1).
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> WEEWX@WEEWX:~ $ python3 -m pip-3.2 install --upgrade pip-3.2
> /usr/bin/python3: Error while finding module specification for 'pip-3.2'
> (ModuleNotFoundError: No module named 'pip-3')
> WEEWX@WEEWX:~ $ python3 -m pip install --upgrade pip-3.2
> error: externally-managed-environment
>
> × This environment is externally managed
> ╰─> To install Python packages system-wide, try apt install
> python3-xyz, where xyz is the package you are trying to
> install.
>
> If you wish to install a non-Debian-packaged Python package,
> create a virtual environment using python3 -m venv path/to/venv.
> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
> sure you have python3-full installed.
>
> For more information visit http://rptl.io/venv
>
> note: If you believe this is a mistake, please contact your Python
> installation or OS distribution provider. You can override this, at the
> risk of breaking your Python installation or OS, by passing
> --break-system-packages.
> hint: See PEP 668 for the detailed specification.
> WEEWX@WEEWX:~ $
>
>
> WEEWX@WEEWX:~ $ sudo apt-get install python-libpcap
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> E: Unable to locate package python-libpcap
> On Monday, March 18, 2024 at 9:02:46 PM UTC Rainer Lang wrote:
>
>> @vince
>> for his GW2000 yes, but for his W830 no - the W830 doesn't have the local
>> Ecowitt API - there only the interceptor works (and quite well)
>> On 18.03.2024 21:59, vince wrote:
>>
>> FWIW the gw1000 driver is 'much' easier to get going especially if you're
>> new to the pi. Works great.
>>
>> On Monday, March 18, 2024 at 1:12:19 PM UTC-7 Pi Radio wrote:
>>
>>> Interceptor... I saw that earlier....?
>>>
>>> Going forwards I'll stop running and walk slowly through this. Thank you.
>>>
>>> By the way the Clock on my VHS VCR is still Flashing... I must read the
>>> Instruction Manual one day. (If you are not of a certain age, you are not
>>> going to get that joke).
>>>
>>> But in all seriousness, I am struggling a bit finding my way around all
>>> of this jargon, so I thought that before getting too much further lost, I
>>> thought I'd wave and ask for guidance.
>>>
>>> I've learnt a great deal so far on this massive learning curve, but
>>> obviously I am not up to this ...yet.
>>>
>>> Bear with me whilst I uninstall it all again, and start a fresh again.
>>>
>>> Many thanks for the Links, I'm off to do some more reading.
>>>
>>> On Mon, Mar 18, 2024 at 7:55 PM 'Rainer Lang' via weewx-user <
>>> [email protected]> wrote:
>>>
>>>> The Ventus W830 is a Ecowitt WH2910 clone. In your mail it is not clear
>>>> what "it" means. Your RaspberryPi, weewx, the console.... ?
>>>> Maybe you should first make yourself familiar with your environment,
>>>> your setup, the architecture and then see where weewx comes into play.
>>>>
>>>> I suggest you read https://www.wxforum.net/index.php?topic=40730.0 and
>>>> read the Ecowitt/FineOffset WiKi linked therein.
>>>> Read the chapters about data flow and understand where weewx comes into
>>>> play.
>>>> Then there are several chapters about how to connect an Ecowitt console
>>>> to data logger programs like weewx - even with the special example of
>>>> weewx.
>>>>
>>>> For your W830 you can (only) use the weewx interceptor driver, for your
>>>> GW2000 the Ecowitt gateway driver aka GW1000 driver.
>>>>
>>>> The weewx WiKi, even though having significantly improved over time,
>>>> does not give too much attention to the Ecowitt universe yet.
>>>> But there is the Fine Offset / Ecowitt WiKi which jumps in here
>>>> regarding which Ecowitt (clone) consoles are supported.
>>>> The weewx WiKi itself is still widely focused on old legacy models of
>>>> Fine Offset clone consoles and stations.
>>>>
>>>> So, I suggest you read this first (see above) and then come back here
>>>> if still needed - by the way, the Simulator driver is only to show that
>>>> weewx has been set up properly in principle. It won't work with your
>>>> console (Weather Station). Having read the weewx documentation you could
>>>> have understood that - but to be fair, it took me also a longer time to
>>>> come to grips with the jargon etc. used even though being an IT
>>>> professional.
>>>>
>>>>
>>>> On 18.03.2024 20:15, Pi Radio wrote:
>>>>
>>>> I have just joined, and cannot get my Raspberry Pi configured for my
>>>> Ventus W830 PWS. It is linked to various Online Weather sites including
>>>> Weather Underground via it's Display. I also have it linked to an Ecowitt
>>>> GW2000 that is not currently linked to any Online Weather sites.
>>>>
>>>> I have read the User Guide, and followed various Tutorials, but I am
>>>> none the wiser as to why it does not work?
>>>>
>>>> Is there a step by step guide that is written for a complete novice
>>>> like me to follow?
>>>>
>>>> Although the Ventus W830 is listed in the Compatible Hardware List as a
>>>> Fine Offset model it does not appear in the Available Hardware Types in the
>>>> Software on my Raspberry Pi. I have tried using Simulator, plus all of the
>>>> (dozen or so) options for the various types of PWS listed in the software.
>>>>
>>>> What am I not doing correctly, or what I have missed, I have no idea? I
>>>> have just followed the Instructions in the "Guide". But there still seem to
>>>> be lots of CRITICAL __main__: errors in Red, so it is a bit catistrophic?
>>>>
>>>> I am not a programmer, nor that familiar with a Raspberry Pi. All I
>>>> know is what I have been struggling with here, and following YouTube
>>>> videos.
>>>>
>>>> Any help would be very, very much appreciated.
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "weewx-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/weewx-user/b6dde367-1685-40a0-a908-8050ccbe9e86n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/weewx-user/b6dde367-1685-40a0-a908-8050ccbe9e86n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "weewx-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/weewx-user/ec992847-5678-43b7-b314-2be91f896aff%40gmail.com
>>>> <https://groups.google.com/d/msgid/weewx-user/ec992847-5678-43b7-b314-2be91f896aff%40gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/f0739c82-ed6b-4919-bde4-9edd2d18c3abn%40googlegroups.com
>> <https://groups.google.com/d/msgid/weewx-user/f0739c82-ed6b-4919-bde4-9edd2d18c3abn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "weewx-user" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/weewx-user/0rPocXlg_AQ/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-user/bd143073-ee01-46c5-9a2f-f6237e633e74n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-user/bd143073-ee01-46c5-9a2f-f6237e633e74n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "weewx-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-user/fe832a96-f958-4b80-9e3d-7cd482b3e13a%40edison
> <https://groups.google.com/d/msgid/weewx-user/fe832a96-f958-4b80-9e3d-7cd482b3e13a%40edison?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/CANhf2e4R83r_Eye0ehcwQsGUk00%3DYrnGwwEAo6eBb%2BFXWjHvbQ%40mail.gmail.com.