Hello Word-Project: Von "virtualenv erstellen" zu github
Hallo, ich suche eine Beschreibung wie man vorgeht, um in ganz kleines Python Projekt zu erstellen und dann zu github hoch lädt. Nach dem Erstellen der Virtualenv (per PyCharm) sehe ich diese Verzeichnisse: ./foo ./foo/venv ./foo/venv/lib ./foo/venv/lib/python3.6 ./foo/venv/lib/python3.6/site-packages ./foo/venv/include ./foo/venv/bin Und nun: wo hello.py speicher und wie die Zeile "print('Hello world.')" per Kommandozeile aufrufbar machen? Und dann: dies ganze per github verfügbar machen. Ich kann das, daran scheitert es nicht. Ich suche eine Doku die das schön im Zeitlupentempo erklärt. Die Doku kann gerne auf englisch sein. Hat jemand einen passenden Link? Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/ I am looking for feedback: https://github.com/guettli/programming-guidelines
Am 03.03.19 um 14:12 schrieb Thomas Güttler Lists:
Und nun: wo hello.py speicher und wie die Zeile "print('Hello world.')" per Kommandozeile aufrufbar machen?
Für diesen Teil suche mal nach "python command line script entry points". Da findet sich zum Beispiel: https://chriswarrick.com/blog/2014/09/15/python-apps-the-right-way-entry_poi... https://amir.rachum.com/blog/2017/07/28/python-entry-points/ https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html uvm. Chris
Hallo Thomas, zur allgemeinen Projekt-Struktur findest du etwas unter https://docs.python-guide.org/writing/structure/ Dein hello.py ist in diesem Beispiel sample.py. Gruß Niko
Am 03.03.19 um 14:12 schrieb Thomas Güttler Lists:
Hallo,
ich suche eine Beschreibung wie man vorgeht, um in ganz kleines Python Projekt
zu erstellen und dann zu github hoch lädt.
Nach dem Erstellen der Virtualenv (per PyCharm) sehe ich diese Verzeichnisse:
./foo
Her (oder in einem Unterverzeichnis davon, das ist eine Frage des persönlichen Stiels) kommt der Code, den Du entwickelst.
./foo/venv
Nur, weil ich sowas immer wieder sehen: Das venv sollte nicht Teil des git-repositories sein! Vielmehr gehört ein Rezept, wie man das venv erstellt in das Repository (z.B. eine pip-requirements-Datei) Ins Repo kommt das "Installationsskript (bei Python also ein setup.py), um Deine Software zu installieren - im System oder eben im virtual-env.
Und nun: wo hello.py speicher und wie die Zeile "print('Hello world.')" per Kommandozeile aufrufbar machen? Die Links, die Chris Zeigen mehrere Wege, das zu tun. Sie unterscheiden sich im wesendlichen in der Verzeichnisstruktur. Wenn es eher ein kleines Programm ist ("Hello world"), würde ich das Vorgehen von Amir Rachum empfehlen. Wenn es ein größeres Programm ist, bei dem Teile in ein Package/Modul ausgelagert werden, den von python-packaging. Und wenn der Fokus eher das Package ist (oder Du die entry-point Mehtode nutzen willst), das Modell von Chris Warrick.
Wenn sich Dein Programm wandelt, wandelt sich wahrscheinlich auch dies Strultur. Entry-pints haben ihren Sinn, sind aber
Und dann: dies ganze per github verfügbar machen.
Am einfachsten geht es so herum: Unter <https://github.com/new> ein neues Repo anlegen. Nachdem Du das Projektverzeichnis schon auf Deinem Rechner angelegt hast erstellst Du *kein* Readme, *kein* gitignore und *keine* Lizenz. Nach dem Klick auf "Create repository" bekommst Du eine Anleitung für die nächsten Schritte angezeigt "create a new repository on the command line"- Zu überlegen wäre, um Du nicht gitlab verwendest, denn dort ist das (Linux) CI (um jeden Psh automatisiert zu testen) bereits integriert. Funktioniert prinzipiell genauso: <https://gitlab.com/projects/new>, keine Readme anlegen und dann denn Schritten im unteren Teil der Siete folgen ("Existing folder"). Viel Spaß! -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: https://www.goe-con.de/blog/bin-offiziell-entdecker-einer-sicherheitslucke Kolumne: https://www.goe-con.de/hartmut-goebel/cissp-gefluester/2010-07-passwoerter-l...
participants (4)
-
Christopher Arndt
-
Hartmut Goebel
-
Niko
-
Thomas Güttler Lists