426 Stimmen

Wie schreibt man ein Python-Modul/ein Python-Paket?

Ich habe Python-Skripte für einfache Aufgaben bei der Arbeit geschrieben und habe sie nie wirklich verpackt, damit andere sie verwenden können. Jetzt wurde mir zugewiesen, einen Python-Wrapper für eine REST-API zu erstellen. Ich habe absolut keine Ahnung, wie ich anfangen soll und brauche Hilfe.

Was ich habe:

(Möchte so spezifisch wie möglich sein) Ich habe das virtualenv bereit, es ist auch auf github verfügbar, die .gitignore-Datei für Python ist ebenfalls vorhanden, sowie die requests-Bibliothek zum Interagieren mit der REST-API. Das ist es.

Hier ist der aktuelle Verzeichnisbaum

.
 bin
   /die üblichen Sachen/
 include
   /die üblichen Sachen/
 lib
   python2.7
       /die üblichen Sachen/
 local
   /die üblichen Sachen/
 README.md

27 Verzeichnisse, 280 Dateien

Ich weiß nicht einmal, wohin ich die .py-Dateien legen soll, wenn ich jemals welche erstelle.

Was ich tun wollte:

Eine Python-Modul erstellen, das mit "pip install ..." installiert werden kann.

Wenn möglich, möchte ich eine allgemeine Schritt-für-Schritt-Anleitung zum Schreiben von Python-Modulen.

0voto

Rajendra meena Punkte 11

Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen enthält. Der Dateiname ist der Modulname mit dem Suffix .py

Erstellen Sie eine Datei namens hello.py mit der folgenden Funktion als Inhalt:

def helloworld():
   print "hallo"

Dann können Sie

import hello
hello.helloworld()

Um viele .py Dateien zu gruppieren, platzieren Sie diese in einem Ordner. Jeder Ordner mit einer init.py Datei wird von Python als Modul betrachtet und Sie können sie als Paket bezeichnen.

|-HelloModule |_ init.py |_ hellomodule.py

0voto

Sie können das pkg-Paket erstellen, das __init__.py (Leere Datei) und file.py wie unten gezeigt hat. *Jedes Paket sollte ein leeres __init__.py haben, wie es im A simple project Dokument angegeben ist, und Sie können meine Antwort sehen, die den Unterschied zwischen Modul und Paket in Python erklärt, sowie meine Antwort zur Erklärung, wie man ein Paket für TestPyPI und PyPI erstellt, hochlädt und installiert:

test
 |-pkg # Hier
 |  |-__init__.py
 |  -file.py
 -main.py

Und file.py hat den folgenden Code:

# "pkg/file..py"

PI = 3.14

def hello():
    return "Hallo"

class Person:
    def __init__(self, name):
        self.name = name

Jetzt können Sie den Code aus pkg/file.py importieren und wie unten gezeigt verwenden:

# "main.py"

from pkg.file import PI, hello, Person

print(PI) # 3.14
print(hello()) # Hallo
p = Person("John")
print(p.name) # John

In dem pkg-Paket erstellen Sie das sub_pkg-Paket, das __init__.py (Leere Datei) und sub_file.py wie unten gezeigt hat:

test
 |-pkg
 |  |-__init__.py
 |  |-file.py
 |  -sub_pkg # Hier
 |     |-__init__.py
 |     -sub_file.py
 -main.py

Und sub_file.py hat den folgenden Code:

# "pkg/sub_pkg/sub_file.py"

GRAVITY = 9.8

def world():
    return "Welt"

class Animal:
    def __init__(self, name):
        self.name = name

Jetzt können Sie den Code aus pkg/sub_pkg/sub_file.py importieren und wie unten gezeigt verwenden:

# "main.py"

from pkg.sub_pkg.sub_file import GRAVITY, world, Animal

print(GRAVITY) # 9.8
print(world()) # Welt
a = Animal("Hund")
print(a.name) # Hund

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X