Categories
Raspberry Pi Линукс Упътвания

Създаване на виртуална среда в Python

При опит за инсталиране на PyGPSClient в Raspberry OS със следната команда:

pip3 install --upgrade pygpsclient

се появява грешка за външно управлявана среда:

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.

Необходимо е да се създаде виртуална среда, в която да се инсталира приложението:

mkdir PyGPSClient
cd PyGPSClient
python3 -m venv .venv
source .venv/bin/activate

При вече активирана виртуална среда:

pip3 install --upgrade pygpsclient
Categories
Линукс Упътвания

PIP грешка: not on PATH

Добавяне на директория в PATH и премахване на предупреждение:

nano ~/.bashrc

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

source ~/.bashrc

Categories
Линукс Упътвания

PIP грешка: externally-managed-environment

Премахване на грешка „външно-управлявана-среда“ в PIP:

sudo rm /usr/lib/python3.11/EXTERNALLY-MANAGED

където 3.11 е версията на Python.

Правилното отстраняване на грешката е използването на виртуална среда за всящо отделно приложение.


Categories
Raspberry Pi Линукс Упътвания

How to fix locale error on Debian 10

Locale error in Debian 10 Buster
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
sudo dpkg-reconfigure locales

Categories
PHP

Разлика между Include и Require в PHP

Двете функции са идентични с една основна разлика – при възникване на грешка.

Require ще предизвика фатална грешка от тип E_COMPILE_ERROR и ще прекъсне изпълнението на скрипта.

Include ще предизвика грешка от тип E_WARNING, но изпълнението на скрипта ще продължи.