В
Alt Linux установку
PyCharm (и других приложений
JetBrains) можно
осуществить несколькими способами. И первый из них -- установка через
Flatpak. При его использовании установка и исполнение приложения происходит в некоей "изолированной среде". Таким образом, любое виртаульное кружение, созданное в PyCharm, создаётся внутри в "изолированной среды"
Flatpak... При подключении существующего виртуального окружения, "изолированный"
PyCharm не имеет возможности взаимодейтвовать с ним напрямую, и просто копирует его (виртуальное окружение) внутрь "изоляции"
Flatpak. Виртальное окружение внутри
Flatpak как раз и соодежит все эти "просочившиеся пакеты". Поэтому во "внешней среде" (системной) этих пакетов и не видно. Предположительно, это эти пакеты нужны самомому
Flatpack и именно поэтому их нельзя ни удалить, ни обновить (зато можно поставить второй пакет радом, и таким образом может существовать одновременно
urllib3 разных версий, lol).
Кроме того, в изолированной среде
Flatpak фиксируется внешнее состояние системных пакетоов на момент его развертывания (в данном случае -- на момент установки
PyCharm). Все последующие изменения системных пакетов в изолированную среду
Flatpack не попадают. И получается следующее: если, например, мы установим в
Alt Linux новую версию
Python, то при создании (или подключении) виртального окружения c этой версией
Python средствами
PyCharm, благодаря механизму
virtualenv, этот новый
Python будет перенесён внутрь "изоляции"
Flatpack. Но если, мы доустановим в
Alt Linux системные пакеты (например:
mariadb-client или
libmariadb3), то в изолированную среду
Flatpack они уже не попадут(!). Что, например у меня, вызвало шок: в терминале
Alt Linux установка
pip install mysqlclient
проходит, а
в терминале PyCharm падает.
Как лечить?
В
Alt Linux есть второй способ устаноки
PyCharm -- c момощью пакетного менеджера
snap:
snap install --classic pycharm-professional
Среда
snap менее изолированна. Она видит (и использует) текущее состояние системных пакетов
Alt Linux и ей не нужны никакие внутренние
python-пакеты. Таким образом
PyCharm не показывает никаких "просочившихся" батареек (их нет, т.к. среда не изолированна).
Правда возникает другой побочный эффект -- средствами
PyCharm не получается с нуля создать "чистое" виртаульное окружение. Можно только подключить существующее. Как устанавливать пакеты в это окружение -- не важно. Можно через
pip (в терминале
Alt Linux или
PyCharm), а можно через графический интерфейс "Settings --> Project Interpeter".
----
Очевидно, что самай лучший способ установки -- с помощью
pycharm.sh из дистрибутива
JetBrains. Но, такая установки потребует разобраться с
JDK внутри Alt Linux и сделать правильные настройки переменных
$pycharm_jdk,
$jdk_home/
$java_home. Для разных версий
PyCharm они могут отличаться, так что использование
snap под
Alt Linux, мне кажется, -- наиболее простой путь.