specter-desktop icon indicating copy to clipboard operation
specter-desktop copied to clipboard

PIP Installation fails on Ubuntu 24.04

Open BTCBellyButton opened this issue 5 months ago • 0 comments

pip3 install cryptoadvance.specter
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.12/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.

Not 100% sure the following is the best way to fix it, but it worked for me.

Ubuntu 24.04 uses a stricter policy to manage Python packages installed system-wide, which limits direct installations using pip to prevent conflicts with system-managed packages.

The Python 3.10 packages needed by Specter are not available in the default repositories of Ubuntu new version. To install Python 3.10 on Ubuntu 24.04, you'll need to add the appropriate PPA (Personal Package Archive) and then install it.

Here’s how to install Python 3.10 along with its development tools:

Add the deadsnakes PPA, which contains more Python versions:

sudo add-apt-repository ppa:deadsnakes/ppa

Update the package list:

sudo apt update

Install Python 3.10 and related packages:

sudo apt install python3.10 python3.10-venv python3.10-dev

Create and activate a virtual environment:

python3 -m venv .specterenv source .specterenv/bin/activate

Install cryptoadvance.specter within the virtual environment:

pip3 install cryptoadvance.specter

Run Specter:

python3.10 -m cryptoadvance.specter server

Or using a service file with Systemd (/etc/systemd/system/specter.service):

[Unit]
Description=Specter Bitcoin Wallet Service
Requires=bitcoind.service
After=bitcoind.service
After=network.target

[Service]
User=go
ExecStart=/usr/bin/python3.10 -m cryptoadvance.specter server
WorkingDirectory=/home/go/.specter

[Install]
WantedBy=multi-user.target

BTCBellyButton avatar Sep 18 '24 15:09 BTCBellyButton