Modul Paket erstellen und installieren :)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SchweresHobby
User
Beiträge: 5
Registriert: Freitag 18. Oktober 2013, 21:45

Hallo!
Ich bin ziemlich neu in diesem Gebiet und habe mit einem Anfänger Buch begonnen und arbeite jetzt mit 'Python von Kopf bis Fuß'.
Im ersten Kapitel soll ich ein Ordner mit der Modul und Setup Datei erstellen. Das hat alles problemlos geklappt. Nun soll ich in der Eingabeaufforderung in den Ordner wechseln (geschafft) und folgenden Befehl eingeben: $ c:\Python31\python.exe setup.py sdist
(also so habe ich das verstanden vielleicht ist das der Fehler) und es kommt jedes Mal die selbe Fehlermeldung:
Der Befehl '$' ist entweder falsche geschrieben oder konnte nicht gefunden werden.
Im Buch ist es so dargestellt dass wenn der Befehl funktioniert eine Menge Sachen passieren und man anschließend das Modul installieren kann.
Klingt einfach :D (Ich vermute mal dass das Problem an mir liegt)

Ich danke euch schonmal im Vorraus (:
Gruß
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Hallo und willkommen zu Python und hier im Forum!

Ich kenne das Buch nicht, aber ich halte es fuer ziemlich unsinnig _damit_ zu starten. Beschaeftige dich lieber mit der Sprache selbst, statt damit wie man deren Programme/Module verteilt. Das kompliziert das ganze nur und ist nicht wirklich zielfuehrend.

Zum Problem selbst: Du sollst das "$" nicht eingeben, es symbolisiert den Prompt. Gib nur `c:\Python31\python.exe setup.py sdist` ein.

Du solltest auch Python 3.3 statt Python3.1 einsetzen. Alles was fuer 3.1 gilt, gilt auch fuer 3.3, letzteres ist aber aktuell ;)
BlackJack

@SchweresHobby: Das $-Zeichen ist nicht Teil dessen was Du eingeben sollst.
SchweresHobby
User
Beiträge: 5
Registriert: Freitag 18. Oktober 2013, 21:45

Danke für eure schnelle Hilfe und die schöne Begrüßung (:
Ich verstehe auch selbst nicht so ganz warum das im ersten Kapitel vorkommt aber bis zum erstellen eines Moduls konnte man einsehen dass man lange Quellcodes einfach vermeiden kann und hat dabei auch noch vieles gelernt (for-Schleifen, Listen...) .

Ich habe es genauso eingegeben wie ihr es gesagt habt nur kommt jetzt folgender Fehler:
Das System kann den angegebenen Pfad nicht finden.
(Wenn jetzt alle den Kopf schütteln-Ich habe mit der Eingabeaufforderung noch nie zuvor gearbeitet :D)

Edit: Mir fällt gerade ein kann es sein dass ich die setup Datei falsch erstellt habe? Ich habe es genauso wie im Buch gemacht Metadaten abgeschrieben und ausgefüllt.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@SchweresHobby: Du hast Python nicht dort hin installiert, wo es das Buch erwartet. Welches Verzeichnis hast Du denn beim Installieren von Python angegeben?
SchweresHobby
User
Beiträge: 5
Registriert: Freitag 18. Oktober 2013, 21:45

@sirius: danke für den Tipp! Das Verzeichnis ist jetzt richtig bei mir war es "c:\python32\python.exe" (also der Befehl: c:\python32\python.exe setup.py sdist)
Anscheinend habe ich den Befehl jetzt richtig eingegeben weil keine Fehlermeldungen mehr kommen. Aber es passiert auch nichts.
Es werden daraufhin keine Vorgänge in der Eingabeaufforderung dargestellt, anders als im Buch. Es wird nur wieder ein Befehl erwartet.
BlackJack

@SchweresHobby: Du kannst ja mal ein ``print('Hallo')`` in die ``setup.py`` einfügen. Das müsste dann ja ausgegeben werden wenn die Datei ausgeführt wird.
SchweresHobby
User
Beiträge: 5
Registriert: Freitag 18. Oktober 2013, 21:45

@blackjack: gleich mal ausprobiert (: sieht so aus
c:\users\...\desktop\programmierung\schachtler> c:\python32\python.exe setup.py sdist
Hallo
c:\users\...\desktop\programmierung\schachtler>

(Schachtler ist der Name des Moduls)

Können vielleicht meine Metadaten falsch sein? Ich hab es genauso wie im Buch und habe noch eine Version im Internet gefunden. Ist das egal?
Ich kopiere sie mal beide hin (mit ein paar weniger Infos)

(so laut buch, hat irgendwie beim ausführen nicht funktioniert und hat immer gleichen Fehler angezeigt (line 5 version, Invalid Syntax)

from distutils.core import setup

setup(
name='schachtler'
version = '1.0.0',
description = 'Einfache Ausgabe geschachtelter Listen',
py_modules = ['schachtler']
)

(so aus dem Internet, verwende ich momentan und scheint zu funktionieren)

from distutils.core import setup

__version__ = "1.0.0"
BlackJack

@SchweresHobby: Nun, wenn in der Datei im Grunde nichts drin steht, dann wird natürlich auch nichts gemacht. Den Aufruf der `setup()`-Funktion kannst Du natürlich nicht einfach weglassen, denn wenn die nicht aufgerufen wird, dann wird sie auch nicht ausgeführt.

Der Syntax-Fehler ist eigentlich auch recht offensichtlich. Die Argumente bei Funktionsaufrufen werden durch Kommas getrennt, und da fehlt eines.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@SchweresHobby: wenn Du nur Dinge aus einem Buch abtippst, ohne sie zu verstehen, dann ist der Lerneffekt doch auch nicht sonderlich groß. »setup« ist eine Funktion, die Du mit einigen Keyword-Argumenten aufrufst, die durch Kommas getrennt sein müssen. In Zeile 4 fehlt ein Komma. Die zwei Zeilen, die Du aus dem Internet hast, tun gar nichts.
SchweresHobby
User
Beiträge: 5
Registriert: Freitag 18. Oktober 2013, 21:45

@blackjack: Super hat funktioniert! Vielen Dank.
Dass ich dieses fehlende Komma nicht gesehen habe... Naja :oops:
Hellstorm
User
Beiträge: 231
Registriert: Samstag 22. Juni 2013, 15:01

Es wäre eventuell auch praktisch, sich eine Anleitung über die Eingabeaufforderung durchzulesen. Ist sehr nützlich.
Antworten