AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Wie starte ich ein Python-Skript?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie starte ich ein Python-Skript?

Ein Thema von Der schöne Günther · begonnen am 21. Okt 2015 · letzter Beitrag vom 21. Okt 2015
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Wie starte ich ein Python-Skript?

  Alt 21. Okt 2015, 13:21
Gott, ist das peinlich. Wahrscheinlich sehe ich den Wald vor lauter Zeitdruck nicht. Ich hasse diese Momente.

Ich habe ein Python-Programm gefunden.
https://github.com/wichert/po-xls

Ich kenne mich mit Python kein Stück aus. Was muss ich tun?

Wahrscheinlich erstmal Python installieren. Ich gehe auf python.org und installiere mir die Version 3.5.

Was passiert dann? Im Stammverzeichnis liegt die Datei Setup.py. . Doppelklicken war zu einfach gedacht, ein Fenster öffnet und schließt sich. Ich öffne eine Konsole in diesem Verzeichnis und sage
Code:
> py Setup.py build
> py Setup.py install
Eine Menge Text rattert durch, nirgendwo steht etwas von "Error". Was sage ich nun? Will ich das gewollte Skript mit "py po_to_xls.py" ausführen steigt er in der Zeile "from . import ColumnHeaders" aus.

Ist das Skript fehlerhaft oder bin ich zu dumm Python zu benutzen?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Wie starte ich ein Python-Skript?

  Alt 21. Okt 2015, 13:29
Blöd dass der Autor keinen Test dabei hat. Sonst könntest Du das ja in GIT direkt mal sandboxen um zu sehen ob der Fehler im Script oder der Eingabedatei liegt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#3

AW: Wie starte ich ein Python-Skript?

  Alt 21. Okt 2015, 13:35
Ohne Ahnung von Python zu haben: "import" klingt danach alsob eine Datei/Library/delphi-unit-äquivalent importiert werden soll. Ich nehme an der nächste Schritt wäre herauszufinden, ob dies eine Standard-Library ist welche installiert sein sollte, ob sie irgendwo mit dem Skript ausgeliefert wird, oder mit welchem Paket sie ausgeliefert wird.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Wie starte ich ein Python-Skript?

  Alt 21. Okt 2015, 13:50
Ausgehend von den Informationen hier hast du die falsche Python-Version erwischt. Python 3.x ist zu 2.x nicht abwärtskompatibel.
An deiner Stelle würde ich erst Python 2.7, dann pip und dann damit das Tool installieren:
Code:
pip install poxls
Eventuell brauchst du dafür Administrator-Rechte.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Wie starte ich ein Python-Skript?

  Alt 21. Okt 2015, 16:54
Hallo-

Vielen Dank für die Hilfe. Habe Python 3 runtergeworfen und Python 2.7 installiert.

Mit "Pip" habe ich es auch versucht zu installieren: "pip instal poxls" meint alles sei in Ordnung, bei Ausführung des Skripts bekomme ich immer Folgendes:

Code:
Y:\>python y:\po_to_xls.py
Traceback (most recent call last):
  File "y:\po_to_xls.py", line 7, in <module>
    from . import ColumnHeaders
ValueError: Attempted relative import in non-package
Ich habe das Gefühl, irgendwas mache ich noch beim Ausführen falsch.


Eine Internet-Suche nach "Attempted relative import in non-package" ergibt nur Dinge bei denen ich kein Wort verstehe. Ein guter Treffer ist aber dabei:

Zitat:
[...]
When you attempt to run module "a" as a script: $ python test_relative_import/a.py
Traceback (most recent call last):
File "test_relative_import/a.py", line 1, in
from . import b
ValueError: Attempted relative import in non-package
$

You cannot run a python file as a script with relative import. You need to run it as a module. This works: $ python -m test_relative_import.a
hello

The reason is that if you run "a.py" as a script, its module name would be "__main__". That name cannot tell where the module is, so python cannot figure out where that "." in "from . import" is. One subtle thing is that if you run "a.py" as a module but in the same directory as "a.py", it does not work either. [...]
Gehe ich nun in src-Verzeichnis und gebe ein
Code:
python -m poxls.po_to_xls
bekomme ich:
Code:
Usage: po_to_xls.py [OPTIONS] CATALOG

Error: Missing argument "catalogs".
Hurra, es scheint zu funktionieren (fürs Erste)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz