Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika myoniwy w Programowanie

Fanatyk

w Programowanie

11piorunów

Ejj, ludzie z pomóżcie.
Ciągnąc dalej temat interferencji fal znalazłem sposób na symulacje. Ale jest to w postaci gołych plików na
https://github.com/0x23/WaveSimulator2D?
Ale mimo podążania za instrukcją nie uruchamia mi się symulacja.
A z to ja jestem noga.
PyCharm zainstalowany, ale próba dalszego postępowania zgodnie z instrukcją wyrzuca błąd.

Komentarze (37)

Gruba ryba2piorunów

ja pi⁎⁎⁎⁎le, sobie znalazłem zajęcie na drugi dzień świąt

@myoniwy dalej zainteresowany? bo nie wiem czy pisać instrukcję. no i czy masz kartę graficzną wspierającą CUDA?

Gruba ryba1piorunów

@myoniwy nie ma problemu, tak jak mówiłem znalazłem sobie wymówkę na popaczanie na alternatywny menedżer pakietów a i lubię twoje wpisy w temacie co tam panie jebło w kabelkach to doszedłem do wniosku że może coś pomoże :stuck_out_tongue_winking_eye: sam mówisz że programistą może i nie zostaniesz ale jeśli ten projekt wydaje się być przydatnym narzędziem to nie rezygnuj, jakby coś trzeba to pisz, postaramy się pomóc w wolnej chwili - w robocie liznąłęm temat opencv i numpy to jest szansa

Fanatyk0piorunów

@wonsz Dzięki że ci się w ogóle chciało to tłumaczyć. Tak to bym olał temat.
A jeszcze pytanie, masz pomysł a raczej wiedzę jak uruchomić tą funkcję:
https://github.com/0x23/WaveSimulator2D?tab=readme-ov-file#image-scene-decsription-usage
Żeby generowało symulację na podstawie obrazu?
Przeglądam pliki i nie widzę żeby gdzieś można było podać odnośnik do pliku graficznego.

EDIT:
Dobra, example1.py to ogarnia.

GitHub - 0x23/WaveSimulator2D: A 2D wave simulator running on the GPU. Can be used for 2D light and sound simulations.A 2D wave simulator running on the GPU. Can be used for 2D light and sound simulations. - 0x23/WaveSimulator2DGitHub
Gruba ryba1piorunów

@myoniwy to nie programowanie a znany od dawna problem z zarządzaniem paczkami w pythonie - dlatego do tego siadłem, nauka przez rozpoznanie bojem.

I sorry że tak długo ale po napisaniu instrukcji siadłem do i nawet nie wiem kiedy ten czas poleciał

Fanatyk0piorunów

@wonsz Dobra, udało mi się to uruchomić. Ale programowanie to nie mój świat.

Fanatyk0piorunów

Nie pomogło, wywala takie informacje.

Fanatyk0piorunów

@wonsz żarło, żarło i zdechło
Nie da się wybrać innego środowiska.
Robię reset.

Gruba ryba1piorunów

@myoniwy jeszcze jedno w kwestii GPU - latając po instrukcjach instalacji CUPY widziałem informacje o tym żeby sterownik też był odpowiedni. nie zagłębiałem się za bardzo co to znaczy bo najpierw chciałem sprawdzić czy użycie CONDY rozwiąże wszystkie problemy z instalowaniem zależności dla CUDA i to się udało -> zrobiłem to na laptoku do grania, więc nie było tu żadnych fikuśnych rzeczy instalowanych pod obliczenia GPU. jeżeli będzie problem z twoją kartą graficzną to już ci nie pomogę niestety.

Installation — CuPy 13.4.1 documentationCupy
Gruba ryba1piorunów

@myoniwy trwało dłużej niż zakładałem, restartów było mniej niż w sumie pamiętam, generalnie powodzenia, jakby co to pisz, jeszcze trochę minie zanim pójdę spać

Gruba ryba1piorunów

@myoniwy
słowem wstępu:

* w windowsach po większych zmianach często warto strzelić restart systemu, będę o tym pisał, niektóre mogą się okazać nadmiarowe ale ja nie chciałem ryzykować
* używasz domyślnego UI pycharma a ja starego, więc moje wcześniejsze podpowiedzi typu menu pycharm -> File -> ... mogą nie mieć odzwierciedlenia u ciebie - generalnie potrzebny ci będzie tylko dostęp do ustawień projektu do którego prowadzi skrót klawiaturowy Ctrl + Alt + S
* przypomnę tylko że pycharma instalowałem już po utworzeniu środowiska, nie wiem jak pierwszy krok (odinstalowanie pythonów) wpłynie na twojego już zainstalowanego pycharma, nie powinien w ogóle ale cholera wie, a uruchomiony pycharm może bruździć przy próbie odinstalowania pythonów, warto go wyłączyć

tworzenie środowiska:

1. Dodaj/Usuń programy -> odinstaluj wszystkie Pythony jakie masz (no chyba że wiesz że któregoś potrzebujesz do czegoś innego), restart
2. Instalacja menedżera pakietów Miniconda -> https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe - zwróć uwagę żeby w trakcie procesu zaznaczyć opcję Register miniconda3 as my default python 3.12 (pierwszy screenshot)
3. Uruchomienie konsoli Miniconda - gdzieś w menu start powinien dodać się skrót do Miniconda Prompt (drugi screenshot), uruchom
4. Konsola uruchomi się w jakimś katalogu w systemie plików, nie jest to istotne, wywołania conda będą odnosić się do danych zapisanych w menedżerze pakietów, odpalamy po kolei następujące komendy, akceptując wyskakujące w trakcie pytania Proceed [y]/n enterem (trochę to wszystko potrwa):
5. conda create -n wave2d
6. conda activate wave2d
7. conda install opencv
8. conda install matplotlib
9. conda install -c conda-forge cupy
10. nie musimy instalować pakietu numpy bo już się zainstalował jako zależność opencv
11. środowisko gotowe

podpinanie środowiska do pycharma:

1. w pycharmie wchodzisz do ustawień projektu -> Python interpreter -> Add interpreter -> Add local interpreter (screenshot 3)
2. następne punkty będą na screenshocie w kolejnym poście bo jest ograniczenie na 3
3. w oknie dodawania interpretera wybierasz Select existing, Type: Conda, Path to conda ustawi się samo
4. klikasz Reload environments i po przeładowaniu wybierasz z listy Environment środowisko wave2d
5. klikasz Apply, czekasz aż pycharm przeładuje informacje o środowisku - wyświetli zainstalowane pakiety etc., wtedy klikasz OK
6. powinno działać teraz, ewentualnie restart jak coś by mielił zbyt długo

Fanatyk0piorunów

@wonsz
>wypierdol wszystko i zrób od zera
Czasami jest to najlepsze rozwiązanie.

Gruba ryba1piorunów

>NVIDIA Quadro RTX 5000 
@myoniwy wygląda że powinno działać. no to teraz tak - odpaliłem wszystko na windowsie jeszcze zanim zainstalowałem tu pycharma więc instrukcja będzie podzielona na utworzenie środowiska i zainstalowanie zależności z linii komend i podpięcie tego później pod pycharma.

long story short - używam tu nieznanego mi wcześniej menedżera pakietów który, z tego co wyczytałem, miał rozwiązać problemy z instalacją CUPY za pomocą pipa, który się wypieprzał przy próbie budowania ze źródeł, a tu ciągnie już zbudowane binarki. no działa. daj mi kilkanaście minut na to wypracowanie, bo robiłem screenshoty i trochę generalnie pisania jest bo poleciałem najbezpieczniejszym scenariuszem (wypierdol wszystko i zrób od zera :stuck_out_tongue_winking_eye: )

Fanatyk0piorunów

@wonsz w jednym z lapków mam NVIDIA Quadro RTX 5000 z 16GB GDDR6

Fanatyk0piorunów

@wonsz tak, poproszę. Bo ja to mogę sobie Arduino albo jakiegoś HTMLa napisać a nie to.
A kartę zaraz zobaczę, mam dwa lapki więc któryś powinien działać.

Osobistość6piorunów

Uwielbiam pythona, uwielbiam kiedy potrzebuje użyć jakiegoś programu i jego jedyna dostępna wersja to taka do ręcznego zainstalowania poprzez sklonowanie repo i doinstalownie zależności przez pip. Kocham kiedy muszę dla każdego programu robić osobne wirtualne środowisko i instalować te same paczki po 15 razy w różnych wersjach. Jeszcze bardziej kocham jak się potem okazuje, że to jest jakaś kosmicznie stara i specyficzna wersja pythona której nawet nie ma skompilowanej dla twojej dystrybucji wiec jeszcze musisz poczekać aż zbuduje ci się cały python lokanlnie u siebie. A na koniec po odpaleniu i tak zobaczysz błąd, że nie udało się zimportować jakiegoś_gówna.py.

Taki żart ofc, umiem to wszystko zrobić i dobrze rozumiem dlaczego tak jest ale dobrze wiemy, że każdy choć raz przez to przeszedł xD.

Osobistość1piorunów

@koszotorobur Ta, teraz to ja już to wszystko wiem. Szkoda, że parę lat temu nie wiedziałem, przez ten wpis przemawiało zwyczajnie doświadczenie xD.

Fanatyk2piorunów

@Catharsis - kontenery rozwiązują ten problem :slightly_smiling_face:

Gruba ryba1piorunów

@myoniwy a zapytałem czada dżipiti promptem
>jak zainstalować i uruchomić przykłady https://github.com/0x23/WaveSimulator2D na windows 10 w pycharmie używając pip
i zwrócił całkiem rozsądną instrukcję.

edit: w szczególności jest tam rozpisane co zrobić jeśli nie masz odpowiedniej karty graficznej, bo właśnie dorwałem się spowrotem do kompa, próbowałem odpalić cokolwiek z tego projektu i ewidentnie moja karta nie wspiera CUDA więc muszę obgonić to innym modułem niż tym z requirements.txt

edit2: poprosiłem go o instrukcje jeszcze raz bo zamknąłem zakładkę i dostałem całkiem inną instrukcję, ja pierdole o.O

GURU2piorunów

@Catharsis czytam te twoje przygody z Pythonem, patrzę na nick, patrzę jeszcze raz i kurde wszystko pasuje xD

Uczucie litości i trwogi i na koniec oczyszczenie 🙂

Fanatyk0piorunów

@Catharsis A ja tego nie ogarniam. Zwłaszcza że postępuje zgodnie z instrukcjami a tu to nie działa, tamtego nie ma, a to sterownik nie tak.
Nie mój świat, zwłaszcza jeśli nie działa.

Fanatyk0piorunów

Ehhh, teraz taki problem ma
>Traceback (most recent call last):
> File "E:\\Python\\WaveSimulator2D-main\\wave_sim2d\\examples\\example0.py", line 5, in <module>
>   import cv2
>ModuleNotFoundError: No module named 'cv2'

Gruba ryba1piorunów

@cec zgadza się, linuksowa struktura katalogów mi się napisała

Osobistość1piorunów

>newvenv\\bin\\activate.bat
@wonsz @myoniwy używa powershella (i windowsa), więc pewnie:

newvenv\\Scripts\\activate.ps1

W zależności od używanego terminala musimy użyć odpowiedniej wersji skryptu.

Gruba ryba2piorunów

@myoniwy i jeszcze trzecia opcja jak zainstalować zależności - w tym oknie gdzie konfigurowałeś interpreter, jak już stworzyłeś wirtualne środowisko, możesz dodawać pakiety ręcznie. W pliku requirements.txt masz linia po linii wyszczególnione z nazwy zależności które możesz dodawać plusikiem zaznaczonym na czerwono. Tam są cztery moduły z tego co patrzyłem, dużo klikania nie będzie.

Gruba ryba3piorunów

@myoniwy gdybyś natomiast chciał się bawić z terminala zamiast z pycharma:

>cd E:\\Python\\WaveSimulator2D-main
utworzenie nowego środowiska w katalogu 'newvenv'

>python -m venv newvenv
aktywacja srodowiska

>newvenv\\bin\\activate.bat
instalacja zależności z pliku

>pip install -r requirements.txt
uruchomienie przykładowego skryptu

>python wave_sim2d\\exampl
es\\example0.py

Jeśli to by zadziałało to możesz tak utworzone środowisko podpiąć w pycharmie, tak jak opisałem przy okazji konfigurowania środowiska, tylko zamiast generować nowe wybierasz opcję Select existing I jako lokację podajesz:
>E:\\Python\\WaveSimulator2D-main\\newvenv

edit: teraz sobie przypomniałem że połowa z powyższych może nie zadziałać bo swego czasu instalator pythona pod windowsem nie dodawał domyślnie interpretera do zmiennej systemowej PATH przez co program nie był dostępny z dowolnego miejsca w systemie plików i trzeba było wołać pythona z pełną ścieżką - to są te różnice o których wspominałem bo pythona pod windowsem to ostatnio widziałem jeszcze przed covidem

Fanatyk0piorunów

@wonsz Tak, aż spróbuję jeszcze raz

Gruba ryba1piorunów

@myoniwy a zainstalowałeś requirementy z pliku requirements.txt ? Bo cv2 to jest modul opencv-python z tego pliku.

Ogólnie staram cię przeprowadzić przez proces z poziomu pycharma bo chyba będzie lepiej na dłuższą metę, więc podsumuję powyższe:

1. Po otwarciu projektu w pycharmie chcesz skonfigurować mu interpreter - opisałem to w edytowanym poście wyżej, tam gdzie jest wklejony screenshot.
2. Po skonfigurowaniu interpretera (utworzeniu nowego wirtualnego środowiska) uruchomienie terminala w pycharmie powinno skutkować oknem terminala w katalogu głównym projektu z aktywnym wirtualnym srodowiskiem, wtedy
3. Odpalasz w terminalu pierwszą komendę którą wklejalem, tę z pipem

Jak wszystko pójdzie dobrze powinieneś mieć projekt w pycharmie że skonfigurowanym interpreterem I zainstalowanymi zależnościami.

Gruba ryba4piorunów

w pycharmie otwórz terminal, czyli
>menu pycharma -> Viev -> Tool windows -> Terminal
powinien się otworzyć w głównym katalogu projektu z aktywnym wirtualnym środowiskiem, w tym katalogu w którym jest plik requrements.txt, wtedy wklepujesz w terminal
>pip install -r requirements.txt
i powinien zainstalować requirementy

edit: jeśli pycharm automatycznie nie utworzył ci wirtualnego środowiska dla projektu utwórz je z poziomu menu:
>menu pycharma -> File -> Settings... -> Project: WaveSimulator2D -> Project interpreter -> Add interpreter -> Generate new -> OK

Fanatyk1piorunów

@wonsz Dobra, jest jakiś postęp.

Gruba ryba2piorunów

@myoniwy pip powinien się zainstalować z wirtualnym środowiskiem (potocznie venv) - edytowałem poprzedni wpis z instrukcją jak utworzyć venv dla projektu. no i możliwe że są jakieś różnice windows-linux których nie jestem niestety w stanie sprawdzić. jak utworzysz venv dla projektu będzie ono automatycznie aktywowane w pycharmie, ale może to wymagać restartu pycharma.

Fanatyk0piorunów

@wonsz Fajnie, jest to krok do przodu, ale wciąż mam taki komunikat:
>PS E:\\Python\\WaveSimulator2D-main\\wave_sim2d> pip install -r requirements.txt
>pip : The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a
> path was included, verify that the path is correct and try again.
>At line:1 char:1
>+ pip install -r requirements.txt
>+ ~~~
>   + CategoryInfo         : ObjectNotFound: (pip:String) [], CommandNotFoundException
>   + FullyQualifiedErrorId : CommandNotFoundException
Czyli muszę tego PIPa zainstalować, ale CMD nie ułatwia mi tego,
Zwraca taką informację:
>nie znaleziono Python; uruchom bez argumentˇw, aby zainstalowa

Zawodowiec2piorunów

Brakuje Tobie modułu w Pythonie. Musisz zainstalować poprzez np. pip3. Masz w repo plik requirements.txt?

Tytan0piorunów

@myoniwy @SquashFS A Pycharm nie używa swojego własnego interpretera do Pythona i musisz osobno instalować paczki per projekt czy cuś?

Osobistość0piorunów

@SquashFS Ale to nie jest zależność tylko "wave_sim2d" to moduł który właśnie próbuje odpalić.

Gruba ryba2piorunów

@myoniwy daj mi chwilę bo z telefonu nie ogarnę tego opisać dla windowsa

Fanatyk0piorunów

@SquashFS jest, tylko ni cholery nie wiem co to ten pip a gugiel nie pomaga