Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Python in docker 1 machine werkt, anderen niet

Pagina: 1
Acties:

Vraag


  • ljsquare
  • Registratie: april 2006
  • Laatst online: 19:57
Voor mijn openHAB systeem heb ik een python script geschreven om de vuilnisdagen op te vragen en in een ephemeris file te schrijven (vuilnis.xml).
Nu ben ik bezig met het experimenteren van Docker om mijn python script platform onafhankelijk te maken.
Echter dat valt tegen, althans ik krijg een foutmelding dit ik niet begrijp waarom ik hem krijg.

Op mijn Mac heb ik met python (3.8.3) het volgende script gemaakt:
[code]
from avri.api import Avri

client = Avri('1234AB',123)

upcoming = client.all_upcoming()

header = """<?xml version="1.0" encoding="UTF-8"?>
<tns:Configuration hierarchy="nl" description="Afvalverwerking Avri"
xmlns:tns="https://www.example.org/Holiday" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.example.org/Holiday /Holiday.xsd">
<tns:Holidays>"""
footer = """ </tns:Holidays>
</tns:Configuration>"""
print (header)
for garbage in upcoming:
name = garbage.name
month = garbage.day.strftime("%B")
day = garbage.day.day
if name == "PACKAGES":
name = "Plastic"
if name == "GREEN":
name = "GFT"
print (f' <tns:Fixed month="{month}" day="{day}" descriptionPropertiesKey="{name}" />')
print (footer)
[/code]

Deze werkt zowel lokaal als via een docker prima. Ik krijg de output zoals ik verwacht.
Wat ik gebruik voor docker is het voglende:
[code]docker run -it --rm -v "$PWD":/usr/src/service -w /usr/src/service python:3-slim python -m pip install avri-api && python vuilnis.py > vuilnis.xml[/code]

Nu komt het gekke, op een Rasberry Pi en een Qnapnas (had ff geen ander device om te testen), krijg ik de volgende foutmelding:
[code]
File "vuilnis.py", line 23
print (f' <tns:Fixed month="{month}" day="{day}" descriptionPropertiesKey="{name}" />')
^
SyntaxError: invalid syntax
[/code]

Waarom, wat is er mis met mijn syntax als deze wel werkt op mijn Mac (zowel native als in docker)? :?


Ik heb de fout zelf al gevonden.... mijn docker command
code:
1
python -m pip install avri-api && python vuilnis.py > vuilnis.xml
moet zijn
code:
1
bash -c "python -m pip install avri-api && python vuilnis.py > vuilnis.xml"
|:(

[Voor 5% gewijzigd door ljsquare op 14-02-2021 14:54. Reden: versie python Mac erbij gezet]

Laurens-Jan Merkx



Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True