linux-cli-community
linux-cli-community copied to clipboard
[BUG] - Install on Debian 12 (Bookworm)
Describe the bug Attempting to install the package throws an error, see below.
To Reproduce Steps to reproduce the behavior: Follow install instructions, either using pip3 or manually from the repo
Expected behavior Program to install, as it has done on Buster & Bullseye
Error Messages/Program Output/Log Messages (~/.pvpn-cli/pvpn-cli.log)
dietpi in 🌐 DietPi in linux-cli-community on master via v3.11.2 took 2s ❯ pip3 install -e . 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.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
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.
Desktop (please complete the following information):
- OS: Dietpi, updated to Debian 12
- Python Version: Python 3.11.2
- ProtonVPN-CLI Version: current Git version from repo.
Additional context I've been using this program for many years now, and it has worked perfectly on this system. I cannot use the official protonvpn cli tool, as it does not support headless environments, and my Rasberry Pi Zero 2 is only available over SSH.
In case anyone else runs into this issue, I'll pop my workaround here. I installed Distrobox, and created a root container (using the --root option), and created a Debian 11 box. From there, you can install this community Protonvpn cli utility as normal. You will also need netutils-ping to use the status option to see if the vpn is connected. It will also fail to set the dns servers to Protons, as /etc/resolv.conf is not writeable, so potentially revealing your dns requests to your ISP.
Since Debian 12 you can't install packages system wide to the base environement to avoid problems like file ownership conflicts between python packages shipped by the OS package manager and packages installed by the user. It's intended that the user creates a virtual environement for every package he installs.
I suggest using pipx
that manages the environement for you: cd
into the linux-cli-community
source directory and run pipx install ./
.
This is an error in the readme and should be updated.