Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).
Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
rád bych napsal webovou aplikaci s Django frameworkem, nicméně jsme narazil na problém při nasazení s apachem. Bohužel, podle standardních how-to se mi to nedaří spustit.
Django server (python3 manage.py runserver) funguje v pořádku.
V /var/log/httpd/error_log je při každém načtení webu:
End of script output before headers: wsgi.py
Struktura aplikace je vygenerovaná z: python3-django-admin startproject abc, takže:
/
abc/
manage.py
abc/
__init__.py
wsgi.py
settings.py
urls.py
test/
__init__.py
models.py
views.py
...
Do wsgi.py jsem akorát přidal na první řádek shebang + chmod +x wsgi.py, jinak dostávám
Exec format error: exec of '/home/michal/www/abc/abc/wsgi.py' failedA ještě jsem přidal
sys.path.append('/home/michal/www/abc')
sys.path.append('/home/michal/www')
čímž jsem se zbavil ImportError-u.
/etc/httpd/conf/httpd.conf vypadá takto:
<VirtualHost *:80>
ServerName abc.localhost
DocumentRoot /home/michal/www/abc
WSGIScriptAlias / /home/michal/www/abc/abc/wsgi.py
<Directory /home/michal/www/abc>
Require all granted
Options Indexes FollowSymLinks
</Directory>
<Directory /home/michal/www/abc/abc>
Require all granted
Options Indexes FollowSymLinks ExecCGI
<Files wsgi.py>
Require all granted
</Files>
</Directory>
LogLevel info
</VirtualHost>
A samotný wsgi.py vypadá takto:
#!/usr/bin/python3
import os
import sys
sys.path.append('/home/michal/www/abc')
sys.path.append('/home/michal/www')
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "abc.settings")
application = get_wsgi_application()
Možná je hloupost volba ExecCGI, když to má být WSGI (moc tomu pořád nerozumím), pak se zobrazí testovací stránka, že httpd funguje, a v logu je:
Options ExecCGI is off in this directory: /home/michal/www/abc/abc/wsgi.py
mod_wsgi jsem instaloval jako: dnf install python3-mod_wsgi
$ httpd -M | grep wsgi wsgi_module (shared)
Nevíte, co by mohlo být špatně? Případně, kde ještě hledat závady?
Řešení dotazu:
wsgi.py nepotřebuje žádné úpravy, kromě přidání cest k aplikaci.
Žádné ExecCGI v httpd.conf nemá být.
V httpd.conf mi chybělo:
<IfModule mime_module>
...
AddHandler wsgi-script .py
...
</IfModule>
...
WSGISocketPrefix run/wsgi
A ještě /run/httpd musí mít nastavenou skupinu, pod kterou běží httpd, tedy:
drwx--x--- 3 root <skupina> 120 Aug 22 15:23 /run/httpdkde skupina bude nejčastěji
www-data nebo apache
Poté lze postupovat podle django dokumentace.
Tiskni
Sdílej: