Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2023-05-19 07:59:11

  zl23 - Użytkownik

zl23
Użytkownik
Zarejestrowany: 2016-09-02

Bookworm, python pip, pipx i problem

Problem dotyczy PysolFC
https://sourceforge.net/projects/pysolfc/files/PySolFC/PySolFC-2.20.1/

Uruchomiam go poleceniem:

Kod:

python3 pysol.py

Jeżeli wcześniej zostają zainstalowane zależności i przekopiowane katalogi z kartami do '~/.PySolFC/cardsets/' to wszystko działa jak trzeba.

Ale jedną zależność trzeba zainstalować poprzez pip:

Kod:

python3 -m pip install --upgrade --user pysol_cards

Pod Debianem Bookworm zainstalowanym przeszło rok temu (i aktualizowanym) nie ma problemu z aktualizacją 'pysol_cards' (okazuje się, że czas biegnie szybko od moich eksperymentów i nie warto pisać z pamięci, wg. changelog python3.11 opisane zmiany wprowadzono w lutym 2023 – wersja 3.11.2-3, więc kto zaktualizował ma niżej opisany problem).

Ponieważ zbliża się wydanie Bookworm, postanowiłem sprawdzić jak działa nowy, "czysty" Debian uruchamiając go z obrazu Live (weekly-live-builds).

W przypadku pip odkryłem Amerykę: polecenie pip już nie działa.
Zobaczymy:

error: externally-managed-environment ...itd...czytaj /usr/share/doc/python3.11/README.venv...itd

Jest to konsekwencja: https://peps.python.org/pep-0668/

W skrócie: teraz zalecane jest używanie pipx.

Zainstalowałem więc pipx z wszystkimi zależnościami (np.: python3-venv).

Wykonałem:

Kod:

pipx install pysol_cards
pipx ensurepath

Uruchomiłem ponownie terminal (później nawet wylogowałem się i ponownie zalogowałem do systemu).
W pliku .bashrc ścieżka została dopisana (export PATH="$PATH:/home/user/.local/bin"),
pipx list pokazuje: "package pysol-cards 0.14.3, installed using Python 3.11.2"
W katalogu ~/.local/pipx/venvs/pysol-cards/ są potrzebne pliki.

Tylko PysolFC tego nie widzi, nadal się domaga

Kod:

python3 pysol.py 
Please install pysol_cards.py from "PyPI"
(e.g: using "python3 -m pip install --user --upgrade pysol_cards"

Problem powyższy ominąłem używając starego pip z opcją '--break-system-packages' i zadziałało jak trzeba.
W sieci można znaleźć też inne przepisy (wg mnie gorsze) na ten temat.

Ale z tego co wyczytałem  nie jest to zalecane (ba!, wręcz niebezpieczne – tak piszą) – należy stosować pipx.

Stąd moje pytanie:
co zrobić aby po zainstalowaniu 'pysol_cards' za pomocą pipx, PysolFC to "zobaczył" i zadziałał?

PS.
1.
Zauważyłem że w nazwie modułu 'pysol_cards' myślnik i podkreślnik stosowane są wymiennie i nie ma to znaczenia.
2.
Jakby kogoś to zainteresowało, wymagane zależności to:
dpkg -l tcl tk python3-pip python3-setuptools python3-configobj python3-pygame python3-random2 python3-six python3-tk python3-pbr python3-attr python3-pil python3-pil.imagetk python3-brotli
Opcjonalnie: python3-ttkthemes
Natomiast karty dostępne są tu (nie trzeba wszystkich, wystarczą "neo"):
https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/
a "muzyka" tu:
https://sourceforge.net/projects/pysolfc/files/PySol-Music/

Pozdrawiam.

Ostatnio edytowany przez zl23 (2023-05-20 20:27:44)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)