PyWaw #96

Wtorek, 08.12.2020 18:30

Grzegorz Bokota

Jak budować i udostępniać pakiety z rozszerzeniami binarnymi dla Pythona

Czasem okazuje się, że kod Pythonowy jest za wolny i numba nie pomoże, albo chcemy wewnątrz pakietu korzystać z biblioteki napisanej w kompilowanym języku programowania (na przykład C/C++). Jeżeli paczka z kodem kompilowanym jest udostępniana tylko jako kod źródłowy, to często, aby ją zainstalować, potrzebna jest specjalna konfiguracja środowiska, w której łatwo popełnić błąd. A sam proces instalacji, ze względu na potrzebę kompilacji może zająć dużo czasu. W Pythonie jako rozwiązanie tego problemu stworzono pliki wheel (*.whl), jednak ze względu na potrzebę obsłuzenia popularnych systemów operacyjnych (Windows, MacOS, Linux) i wielu wersji Pythona samodzielne tworzenie skryptów i środowiska jest bardzo pracochłonne. W czasie prelekcji opowiem o tym, jak za pomocą dostępnych narzędzi, w tym popularnych serwerów Continous Integration, łatwo budować pliki wheel dla Windowsa, MacOS i Linuksa. Opowiem o swoich doświadczeniach w ich używaniu i rozwijaniu.

Sebastian Witowski

Python Versions and Dependencies Made Easy

Managing Python versions and dependencies can be painful. JavaScript developers have their "node_modules" folders, but we don't have "python_modules" (yet!) in Python. Instead, we have those mysterious virtual environments. And if you also want to switch between different Python versions, it can quickly turn into a mess. It doesn't have to be that way. With a few simple tools and practices, you can easily tame Python and its dependencies. In this talk, I'm going to show you how to do this. I will talk about: - How to manage Python versions with pyenv and set different versions for a folder or a shell session? - What are virtual environments, what's the difference between different tools (venv, virtualenvwrapper), and how to use them? - How to separate global packages with pipx (and why you should do this)? - Why you usually don't need pipenv, poetry, and other tools like that (and when they are actually useful)?

Prelegenci

Prelegenci

Zdjecie Grzegorz Bokota

Grzegorz Bokota Strona prelegenta

Doktorant z Informatyki na Uniwersytecie Warszawskim aktywnie wykorzystujacy Pythona w pracy naukowej. Wspólautor przedmiotu "Narzędzia programistyczne w Pythonie wspierające analizę danych" na wydziale MIMUW. aktywny kontybutor do kilku Pythonowych projektów OS.

Zdjecie Sebastian Witowski

Sebastian Witowski Strona prelegenta

Sebastian is a Python consultant, freelancer, and trainer. He started his journey with programming as a software developer at CERN, where he fell in love with Python (and teaching). Now he is helping companies untangle their complicated architecture and build all sorts of interesting Python projects. In his spare time, he talks about Python, best practices in programming, and productivity.