I'm struggling with the update. When trying to install plugins with dependencies using pip2, I get following error.
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.
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.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Any advice?
RPi 3, Domoticz dev version, Aeon ZWave stick (with a whole bunch of slaves), Zigbee using Zigbee2MQTT, Nest thermo, P1 smart meter on RPi Zero
I have splitted off your question as it is not related to openssl3.
As Python now uses Python virtual environments this is indeed different now.
With Domoticz you can set a path to where you install your modules. See for more info this topic viewtopic.php?t=42960
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Depending on your setup complexity you might also want to consider running Domoticz via Docker Compose.
With this python is already using a virtual environment and you can use the normal pip commands.
But when using Docker, you can use a file called customstart.sh where you can install all python/system requirements at the first start of the docker container.
JanJaap wrote: ↑Saturday 17 May 2025 21:42
I'm struggling with the update. When trying to install plugins with dependencies using pip2, I get following error.
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.
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.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Any advice?
That is indeed a very annoying (but understandable requirement).
You can by pass with the --break-system-packages option in the pip command
Otherwise you can create a specific folder where you'll install all of the Python3 modules. The Domoticz script has been updated to add an extra Environment Variable PYTHONPATH (which is commented by default) and where you can set where the specific python modules can be found.