#python

36
130

CPython jest napisany w C. Pypy jest napisany w RPython (okrojony Python) i jest szybszy niż CPython.

Zaloguj się aby komentować

Zaloguj się aby komentować

Och, zabawy z instalacją tensorflow. Nowe, nie znałem.

pipa zaktualizuj, może bardziej ogarnięty dependency resolver bedzie

@entropy_ widze pan dopiero początkujący:

- Pip tylko z venv

- jako root to tylko paczuszki z dystrybucji instalujemy

- ewentualnie z kontenerami się pobaw

Zaloguj się aby komentować

Jedyną rzeczą większą od problemów wydajnościowych aplikacji napisanych w Pythonie jest EGO programistów pythona.

Sumaryczna masa ego programistów pythona ma taką grawitacje, że efektywnie są czarną dziurą pożerającą zasoby i nie dającą w zamian nic.

Dlaczego programiści pythona nie optymalizują kodu? Bo system musi kosztować 20k usd miesięcznie więcej ponieważ kod nie był "wystarczająco pythonic" xDDDD

I na koniec moje ulubione: "To niemożliwe by python był powodem problemów wydajności, to elementy systemu w Javie. Przepiszmy wszystko na pythona, to będzie wydajniej. Czekaj, co to jest GIL?!".

Czy to dlatego, ze python jest tak prosty, że każdy idiota da rade w nim pisać, czy są inne powody tej sytuacji?

#programowanie #python
f422a9a4-52da-40bf-bd73-2412c04a07d3
8

Matko bosko pajtona obrażajo!

@qwarqq Mnie to w sumie cieszy, że teraz jest moda na przepisywania powolnych narzędzi napisanych w Pythonie/JS na Rusta. Można Rusta nie lubić i być jak maintainerzy jądra Linuxa #pdk ale jedno na pewno robi dobrze. Zachęca programistów do pisania wydajniejszego kodu.

Dobrze napisany program w Pythonie może być 10x szybszy od chujowo napisanego programu w Pythonie. Może być nawet szybszy od programu przepisanego na Rust czy Go, ale z zachowaniem chujowych algorytmów. Fakt faktem, że ludzie piszący w Pythonie często nie przejmują się w ogóle wydajnością i piszą byle tylko przejść testy happy path.


System przy którym pracuje teraz ma komponenty w Rust i w Pythonie i to jest IMO bardzo dobre rozwiązanie. To co jest w Rust jest żadko ruszane, bo każda zmiana wymaga znacznie więcej pracy. Ten komponent jest bardzo wydajny, stabilny i nie podlega wielu zmianom. Komponenty w Pythonie mogą za to bardzo szybko ewoluować, więc mamy dobrą elastyczność. Raz znalazłem takiego babola, że zmniejszyłem CPU load 3x grzebiąc tylko w algorytmach.

Zaloguj się aby komentować

Linux - From Beginner To Professional

Zestaw książek na temat systemu Linux i powiązanych technologii od znanego i cenionego wydawnictwa O'Reilly.

Ten zróżnicowany pakiet książek pozwoli Ci opanować Linuksa oraz powiązane z nim technologie w mgnieniu oka!

Zacznij uczyć się już dziś umiejętności, których wymaga każda ceniącą się spółka technologiczna:

  • Administracja systemu Linux
  • Linux i Python dla DevOps
  • Docker i Kubernetes
  • Ansible i Terraform

#komputery #informatyka #humblebundle #ebook #promocje #linux #python #docker #ansible #terraform
6

O super, znów ebooki do których nigdy nie zajrzę

@koszotorobur Po co książki skoro shell jest najbardziej intuicyjnym sposobem interakcji człowiek-maszyna ?

Wszystko samo się robi.

Zaloguj się aby komentować

Nie używałem dużo Pyhonowskiego REPL - ale teraz jak ma już na Linuksie kolorowanie błędów i można z niego wyjść za pomocą exit lub quit (chociaż CTRL + D działało odkąd pamiętam ) to chyba zacznę

Tutaj więcej info o zmianach w REPL, które przyniósł Python 3.13:

  • Dane wyjściowe do konsoli mają teraz domyślnie włączony kolor.
  • Interaktywną przeglądarkę pomocy pydoc można otworzyć, naciskając F1.
  • Możesz przeglądać historię wiersza polecenia za pomocą F2.
  • Możesz łatwiej wkleić duże bloki kodu, naciskając F3, aby włączyć specjalny tryb wklejania bloków.
  • Możesz po prostu wpisać exit lub quit, zamiast exit() lub quit(), aby opuścić REPL.

Należy pamiętać, że te ulepszenia są obecnie dostępne tylko w systemach Linux i macOS. Nie są one dostępne w systemie Microsoft Windows, nawet w przypadku korzystania z nowego terminala systemu Windows.

#technologia #programowanie #python
dca67842-46ce-499e-a22f-7888f1b97558
6

Hello skrypcie koszotorobura!✋

Za próbę użycia `print` jako wyrażenie, a nie funkcję interpreter powinien przypominać, który jest rok i kiedy Py2 miał swój EoL.

Zaloguj się aby komentować

Gdyby kogoś interesowały takie wydarzenia jak "Advent Of Code" to dziś zaczęło się inne nowe - https://everybody.codes/event/2024 Rozwiązujemy zadania w dowolnym języku programowania przez 20 dni. Codziennie o 00:00 1 nowe zadanie w 3 punktach od najłatwiejszego do najtrudniejszego. Gdyby było zainteresowanie to możemy zrobić Hejto Leaderboard
#programowanie #rustlang #python #java
7

@Pan_Bubr @GrindFaterAnona zrobilem leaderboard

Trzeba sie zalogować, przejść do https://everybody.codes/event/2024/leaderboards/private i podać ten kod b11ccb39-5574-4cd5-b3af-95b98cf8e065

To że jest się w jakimś leaderboardzie innym niż główny daje miły aspekt, że gdzieś zdobywa się punkty. Bo w głównym to jeśli nie zrobi się zadania do 1 w nocy to raczej nie ma co liczyć (za pierwsze zadanie dostaje pierwsze 50 osób, za drugie 100, za trzecie 150).

Ja niestety przestaję funkcjonować o 23:00, więc nie mam szans. Akurat ode mnie z pracy ktoś się mocno wkręcił, poszło to wyżej i międzywydziałowo walczymy na pracowym leaderboardzie.

@bendyz Obawiam się, że takie zabawy mogą być lekko psute przez istnienie chataGPT i innych modeli. Ja wiem, że to tylko zabawa ale na bank znajdą się osobniki, które gówno wiedzą ale będą chcieli żeby ich nick był gdzieś wysoko w rankingu i każde zadanie będą rozwiązywać w minutę kopiując odp z chataGPT jak leci xD.

@Catharsis oczywiście że tak, pewnie sie tacy znajda. Ja to traktuje jako zabawę, nie ma w tym żadnych nagrod rzeczowych, tylko i wyłącznie ciekawe zagadki. Myślę że większość tak to traktuje. Swoją drogą może dobrze byłoby zrobić oddzielna liste rankingową dla tych którzy korzystają z ai do generowania odpowiedzi. Byłoby to ciekawe porównanie.

Zaloguj się aby komentować

Python jest obecnie najczęściej używanym językiem w serwisie GitHub!

Sztuczna inteligencja wprowadziła Pythona do czołówki języków programowania w 2024 roku.

Wiąże się to ze wzrostem liczby programistów "data science" oraz "machine learning" na świecie, przez co Python wyprzedził JavaScript jako najpopularniejszy język programowania na GitHubie.

Źródło: https://github.blog/news-insights/octoverse/octoverse-2024/

#programowanie #python #programista15k #sztucznainteligencja #machinelearning #datascience #github
31

Ja nie uznaje za język coś, gdzie bloki się robi intendami i można pisać bez średników, brrr (⁠╯⁠°⁠□⁠°⁠)⁠╯⁠︵⁠ ⁠┻⁠━⁠┻

No i bomba, bo to świetny język, a popularność nadaje trakcji rozwojowi, bo i pieniążki się znajdują dla fundacji. Jest starszy niż Java, a wiele osób myśli, że to świeży język, bo długo był w cieniu.

@koszotorobur A jakie duże aplikacje webowe/desktopowe sa napisane w Pythonie? Serio pytam, bo jak wieki temu wybierałem technologie pod jakieś mikroserwisy to Python może i był najwolniejszy, ale za to nie dało się go utrzymać in the long run. Może coś się zmieniło

Zaloguj się aby komentować

Przyznaj się, ciągle używasz print() do debugowania swojego kodu

Ale dzięki IceCream używanie print() do debugowania stanie się odległym wypomnieniem!

IceCream, w skrócie ic, sprawia, że debugowanie staje się zdecydowanie słodsze - gdyż:

  • Drukuje zarówno nazwy wyrażeń/zmiennych jak i ich wartości
  • "ic" pisze się je o 60% szybciej niż "print"
  • Czytelnie wyświetla struktury danych
  • Koloruje składnię wyświetlanych danych
  • Opcjonalnie wyświetla kontekst programu: nazwę pliku, numer wiersza i funkcję

IceCream jest dostępne dla następujących języków programowania:


#programowanie #icecream #python #bash #rust #golang #programista15k
aa15d753-6a62-4729-959e-94bef6a56e96
13

@koszotorobur dobra wrzutka, dziękuję!!

@koszotorobur ja jestem wierny tej metodzie debugowania xD

1c8e0c85-b968-46b2-b0dd-029b11977a23

@koszotorobur ricscream xd


A na poważnie to taktyk

Zaloguj się aby komentować

Jakkolwiek lubię linuxa (używam w pracy tylko jego) i jest to dla mnie system docelowy w domu, kiedy w7 przestanie być łatwo używalny, tak widzę jak wciąż słabo rozwiązane jest instalowanie czegokolwiek.
Chcę skompilować kod, który ktoś przygotował z pomocą platform.io do esp8266. Jedna wirtualka nie przetrwała w sumie nie wiem dlaczego (ubuntu mate, wciągało już 20 gb dysku, choć było tam niewiele), zainstalowałem wczoraj lubuntu, wszystko super, dość lekko, ale:
python zainstalowany jako python 3.12.3-1ubuntu0.1
co nie pozwala na zainstalowanie python3.12-venv, bo nie
szukanie solucji - weź se aptitute i ono podrzuci rozwiązania
downgrade, bardzo delikatny
okazuje się, że GUI napisali przy użyciu pythona, nic już nie działa, restart
nie uruchamia się
non profit

Nie znam się za dobrze z pythonem, ale na moje, to opieranie GUI na nim jest jedną z gorszych decyzji. Przecież to powinno działać niezależnie, a tymczasem wszędzie trzeba walić dodatkowymi środowiskami, bo ktoś nie podumał zawczasu i coś może łatwo przestać banglać.
Zamiast skompilować coś w ciągu godziny, babram się z tym już dobrych kilka dni.

Edit: nawet niby LXQt w lubuntu nie jest oparte na pythonie, ale tylko jego przeinstalowałem, więc coś może być na rzeczy z samym systemem.

#zalesie #linux #python #macmajster
20

linux jest dla masochistów lub ludzi co mają czas 😉

@macgajster to niedojebanie samego platform.io który ma paczkę tylko dla jednego, góra dwóch distro. Ogólnie to wina wymagań bibliotek gdzie prościej zrobić wymaganie w postaci paczki zamiast konkretnej biblioteki.

@macgajster Hmm nie chce zabrzmieć jak typowy linuxiarz, ale najprawdopodobniej robisz to źle. Nie powinieneś zmieniać wersji pythona jaką masz zainstalowaną na hostcie, tylko do każdego projektu powinieneś instalować osobną wersje pythona w katalogu w którym teraz pracujesz. Nie jestem do końca pewien jak to działa w pythonie ponieważ nie piszę w nim nic wgl, ale w innych podobnych językach programowania masz podobnie (np node.js). Są od tego specjalnie menagery wersji i pobierasz do każdego projektu taką jaką potrzebujesz bo inaczej to była by masakra zmieniać cały czas wersje podstawowych systemowych paczek jaką jest np python do każdego projektu z osobna. Jak zgooglasz coś w rodzaju "python menaging multiple versions" to ci powinno wyjść co potrzebujesz.

Zaloguj się aby komentować

Droga społeczności, w szczególności programiści. Dopiero co zaczynam swoją przygodę z pytonem i po ostatniej aktualizacji wtyczek mam taki komunikat jak na załączonym obrazku. Pythona mam zainstalowanego na komputerze służbowym i prywatnym, aby móc niezależnie od miejsca coś sobie dłubać dalej. Aby nie tracić dostępu do danych to wszystkie swoje kody wrzuciłem na dysk google i dodałem ścieżkę w pythonie. Przedwczoraj wieczorem json jeszcze działało, a wczoraj rano już nie. Co może być tego powodem? Za pomoc płacę piorunami.
#programowanie #python
b37c4865-ecee-4c16-b32e-fe426b0e87e4
22

@mehdnpl @Meverth @Prucjusz @lurker_z_internetu @argonauta @AureliaNova Dziękuję Wam gorąco za liczne odpowiedzi. Potrzebuję więcej czasu aby przetrawić i posprawdzać wszystkie Wasze sugestie. Jest to temat, w którym jeszcze jestem zielony. Nie mniej Wasze komentarze dodały dużo nowych informacji i otworzyły mi oczy na szersze horyzonty Spokojnego weekendu, a ja siadam do googla i wyszukiwania tego o czym piszecie. Super widzieć, że jest tak duży odzew z groma Kasiek i Tomków programistów

@slawomiras


1. Jeśli jesteś samoukiem, ogladnij jakiś sensowny kurs wirtualny o pythonie. Bez podstaw będziesz się co chwilę potykał.


2. Koniecznie to samo z git. A bez gita i wersjonowania w pewnym momencie okaże się się, że nie ogarniasz swojej kuwety.


3. Ogarnij koncepcje workspace. Czyli katalogu, pod którym masz pewna logiczna strukturę katalogów. Bez tego nie będziesz mieć przenośnego srodowiska, czy pracy w zespole.


4. Jeśli możesz, złap doświadczonego i cierpliwego kolegę, i poproś o mentoring, czyli przeszkolenie z podstaw. To oszczedzi frustracji tobie i kolegom z zespołu.


5. Narzędzia, najlepiej te same w domu i w pracy. Bez jakiejś specjalnej kasy: git, visual studio code. Reszta zależy od specyfiki pracy i zasad bezpieki.

Chciałbym pomóc ale pisze tylko w JS'ie i czasem trochę w Rustcie xd.

Zaloguj się aby komentować

Hmmm... nie lubię pythona. Kirdyś dość sporo w nim pisałemz ale się wyleczyłem. Wolę albo Typescript jako język do szybkiej implementacji rzeczy, albo Rust/C/C++ tam gdzie ważna jest wydajność.

Zaloguj się aby komentować

Jest taka sprawa: mam prosty skrypt w Pythonie, który chciałbym puszczać raz dziennie. Skrypt pobiera pewne dane i zapisuje do csv. Nie chce mi się pamiętać, żeby go ręcznie puszczać.
Z jakiej usługi mógłbym skorzystać, żeby wrzucić tam mój skrypt i niech się codziennie sam puszcza o określonej godzinie?

#programowanie #python
8
Ciekawostka - można porównać dwie wartości IFami:
x = 11
y = 14

if x < y:
  wynik = x
else:
  wynik = y
print("mniejsza liczba: ", wynik) 

Ale można też wyrażeniem bitowym:
x = 11
y = 14

wynik = y ^ ((x^y)& -(x<y))
print("mniejsza liczba: ", wynik)

Po co? Bo tak.

BTW. #hejto fajnie by było móc umieszczać kod we wpisach (w sensie kolorowanie składni)
#programowanie #python
Fausto userbar
6

@Fausto

wynik = x if x < y else y

Niezapominajmy o czytelności.

@markxvyarov chyba, że właśnie celem było zaciemnianie kodu. Hehehe.

wynik = max(x,y)

Chociaż oczywiście możesz sobie komplikować życie ^^

@bekazhejto prawda. Ale w c już tak nie napiszesz :p

@Fausto yyyy. Ale jak to? Oprócz operacji bitowych jest i tak operator porównania w drugim nawiasie. Tak miało być?

Zaloguj się aby komentować

Napisałem sobie taki krótki program do robienia zdjęć z kamerki, gdzie potem sklejam z tego timelapse, ale nie rozumiem jednej rzeczy - zdjęcia zapisują się... z opóźnieniem. Musiałem dolać ukorzeniacza do awokado, więc zabierałem je sprzed kamerki. Po skończonej robocie (9:47) usiadłem do kompa i sprawdziłem poprzednie zdjęcia czy ustawiłem rośliny w miarę w tych samych miejscach. A tu się okazuje, że zdjęcie które powinno być zrobione w momencie skończenia, to tak naprawdę zdjęcie sprzed kilku minut. Łącznie zajęło mu 8 minut (5 zdjęć), zanim dotarł do momentu w którym skończyłem. Dlaczego tak jest? Czegoś tu nie rozumiem?
Kod:
import cv2
from time import sleep
from datetime import datetime

cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080.0)
cam.set(cv2.CAP_PROP_FRAME_WIDTH, 1920.0)
cam.set(cv2.CAP_PROP_AUTO_WB, 0.0)
cam.set(cv2.CAP_PROP_WB_TEMPERATURE, 7000)
cam.set(cv2.CAP_PROP_SATURATION, 75)
cam.set(cv2.CAP_PROP_CONTRAST, 100)
while True:
   retval, frame = cam.read()
   dt = datetime.now()
   ts = int(datetime.timestamp(dt))
   if retval != True:
      print(str(dt) + ": Can't read frame")
      sleep(5)
      continue
   cv2.imwrite(str(ts) + '.png', frame)
   print(str(dt) + ": saved img " + str(ts) + ".png")
   sleep(120)
#python #programowanie
9e52353b-adf4-4507-b0d0-c53a4af049de
298ca152-8de6-486d-ab2f-5cfddaf7e444
203129d3-d0a7-4a2a-94e6-ee680a320cc4
edbf2503-175a-452d-b48e-c86cd23ecdf2
50e6dc6b-50c7-4419-9057-a4faaeedf354
7

@Bielecki cv2 działa bardzo wolno. Spróbuj z numpy.

Jesli dobrze pamiętam, z obiektu cv2 można wyciągnąć tablicę numpy i za jego pomocą to zapisać do pliku.

@markxvyarov dlaczego tak uważasz? Jeśli retval będzie false, to kontynuuję loop, żeby nie wywalać całego programu, ale nie zapisuję obrazu


@Prucjusz najwolniejsze w opencv w moim przypadku jest inicjalizowanie kamery przez cv2.VideoCapture(0). Ja loopuję się już po inicjalizacji, nie zwalniam kamery. Sam zapis odbywa się w ciągu ~0,1s, zakładając że sleep trwa równe 120s (takie mam różnice w timestampach).


@psalek dzięki, to mi wiele powiedziało. Wygląda na to że to właśnie bufor. Niby mogę zastosować te rozwiązania (choć porzucanie ramek przez opencv z tego co znalazłem odbywa się poprzez ustawianie odpowiednich properties kamery i nie jestem pewien czy 1. jest to wspierane przez mój model, 2. jest to nadal w opencv, bo gdzieś była wzmianka, że to usunęli), ale to w sumie byłaby sztuka dla sztuki - a w moim przypadku rozwiązanie się w sumie sprawdza. Zwyczajnie mnie ciekawiło dlaczego tak się dzieje i mam odpowiedź. Dzięki

@Bielecki czym to potem składasz w filmik?

@GrindFaterAnona ffmpeg na wsl (bo na windowsie nie działa globbing, trzeba jakoś kombinować, mi było łatwiej to odpalić na wsl):

`ffmpeg -hwaccel cuda -hwaccel_output_format cuda -framerate 60 -pattern_type glob -i '*.png' -c:v hevc_nvenc -gpu any -rc vbr -cq 28 out.mp4`

Tu akurat z akceleracją gpu, jeśli masz nvidię 1xxx lub nowszą to powinno działać, na AMD się nie orientuję - ale zawsze można wywalić parametry hwaccel i przeliczać procesorem.

Zaloguj się aby komentować

A co chcesz robić?

@Giblet5280 stronki imternetowe.

@Prucjusz To JSa się naucz lepiej ( ͡~ ͜ʖ ͡°). Te stronki chcesz dla siebie robić, budować startupy, czy znaleźć pracę w korpo?

@Prucjusz - bardzo lubię Pythona (co potwierdzają moje wpisy na tagu #python) ale od Django trzymam się z daleka bo to kobyła dla korposzczurów - i do tego zaczyna być przestarzały.

Do robienia stron to teraz SvelteKit lub Astro i deployment do Vercel na szybko przy minimum konfiguracji (lub jak ogarniasz, to wszystko skonteneryzowane i hostowane na jakiejś instancji z procesorem ARM w chmurze lub self-hosted po taniości).

Zrobiłem kilka wewnętrznych projektów gdzie frontend pisałem w SvelteKit a backend (REST API) z wykorzystaniem Pythonowego frameworka FastAPI - frontend i backend oczywiście śmigają w swoich osobnych kontenerach (gdzie base image do frontendu to Distroless Node.js a do backendu oficjalny Pythonowski Debian Slim) - i tak mi się robiło najlepiej i wszystko jest proste w utrzymaniu.

@Prucjusz - naprawdę nie rozumiem dlaczego Django do swoich własnych projektów - jak już komentowałem to są o wiele prostsze rzeczy, w których można robić całkiem skomplikowane stronki.

Napisz coś więcej poza faktem, że się odbiłeś 2 razy od Django i teraz czujesz, że musisz go ogarnąć.

@koszotorobur szczerze mówiąc, to głównie z ciekawości. Do prostych projektów Flask w zupełności wystarczy, albo tak jak wspomniałeś, FastAPI. Trochę też kusi funkcjonalnościami, które ma już gotowe do zaoferowania. No i gdzieś tam czasami w ofertach pracy przewija się i to też jest zachęta, żeby to objąć umysłem.

Zaloguj się aby komentować

Następna