Så kom Python 3.14 äntligen ut på riktigt igår. Slutligen tar vi bort GIL (Global Interpreter Lock), vilket möjliggör mycket snabbare flertrådad kod utan att ta itu med alla hjärnskador och overhead av multiprocessing eller andra hackiga lösningar. Och uv stöder det redan fullt ut, vilket är väldigt imponerande. Men hur som helst, jag blev lite besviken, eftersom huvudprojektet jag arbetar med har ett enormt antal biblioteksberoenden, och det tar alltid väldigt lång tid att få huvudlinjestöd för nya python-versioner, särskilt när de är så revolutionerande och annorlunda som version 3.14 är. Så jag var resignerad och fick utstå GIL-helvetet för en obestämd framtid. Men sedan tänkte jag, varför inte? Låt mig bara se om codex och GPT-5 kan ta sig igenom det hela. Så jag säkerhetskopierade mina inställningar och bad codex att prova, och gav det det senaste blogginlägget från uv-teamet för att komma igång. Det fanns några större vägspärrar. Jag använder PyTorch, som är notoriskt långsam att uppdatera. Och även pyarrow, som inte heller hade stöd för 3.14. Samma sak med cvxpy, omslaget till det konvexa optimeringsbiblioteket. Ändå ville jag se vad vi kunde göra även om vi var tvungna att ta itu med hjärnskadan av att "sälja" vissa bibliotek och bygga några saker från grunden i C++, Rust, etc. med hjälp av de senaste nattliga GitHub-förråden istället för de vanliga PyPi-biblioteken. Jag sa till Codex att söka på webben, att läsa GitHub-sidor och så vidare, så att vi inte uppfann hjulet på nytt (eller WHL borde jag säga) 🤣 i onödan. Varför inte? Jag kunde alltid testa saker, och om jag inte kunde få det att fungera kunde jag bara gå tillbaka till Python 3.13, eller hur? Ingen skada, ingen foul. Tja, det tog många timmars arbete, nästan allt gjort av codex medan jag ibland kollade in det, men det lyckades få allt att fungera! Visst, det tog en massa iterationer, och jag var tvungen att justera några saker för att undvika irriterande utfasningsvarningar (av vilka några kommer från andra bibliotek, så jag var till slut tvungen att filtrera dem). Men dessa bibliotek kommer att uppdateras med tiden för att bättre stödja 3.14 och så småningom kommer jag inte att behöva använda någon av dessa irriterande lösningar. Codex föreslog till och med att vi skulle ladda upp de kompilerade whl-artefakterna till Cloudflares R2 (som s3) så att vi enkelt kunde återanvända dem över maskiner, och tog hand om alla detaljer åt mig. Jag skulle aldrig komma på tanken att göra det själv. Varje gång det uppstod en ny komplikation eller ett nytt problem (till exempel det som visas i skärmdumpen nedan) räknade codex bara ut det och plöjde igenom allt som ingenting. Om du aldrig har försökt göra något liknande under den "gamla dåliga tiden" före LLM, var det en otacksam grind som kunde äta upp dagar och sedan träffa en vägspärr, vilket resulterade i en total utplåning. Så det var helt enkelt för riskabelt att ens prova det för det mesta; Det var bättre att bara vänta 6 eller 9 månader på att saker och ting skulle bli enkla igen. Hur som helst, jag kan fortfarande inte riktigt tro att allt fungerar! Vi lever i framtiden.
När du inser att tweeten förmodligen kommer att gå bra:
1,88K