2017-09-15 8 views
2

Ich bin neu bei Python3 und ich möchte ein Paket erstellen, das ich aus anderem Python-Skript importieren kann.Python-Paket zu sys.path installieren

Also habe ich mein Paket und ich laufe

python3 setup.py sdist

meine Tarball zu erstellen.

, wenn ich es in ein anderes Verzeichnis verschieben Sie es entpacken und dann das Paket installieren mit

python3 setup.py install -user --prefix=

es ist in Ordnung kein Fehler vorhanden ist und es in meiner Website-Paket von Python installieren und wenn ich python3 laufen kann ich importiere meine lib und rufe ihre Funktion auf.

Aber wenn ich dieses Paket in einem Skript importieren möchten es mir sagen,

ImportError: No module named test_package.pck1.addition

Ich weiß, dass ich hinzufügen kann

import sys 
sys.path.append('./test_package.0.1') 

es zu beheben, aber ich möchte vermeiden, dass, weil es würde bedeutet, dass Sie den Pfad zum Paket immer ändern müssen, wenn Sie versuchen, es in einem anderen Skript zu verwenden.

So wie kann ich mein Paket importieren, ohne den sys.path zu ändern. Oder wie kann ich mein Paket installieren, so dass mein Skript das nicht benötigt?

Ich habe eine Menge Installationsprozedur versucht (mit pip3, verschiedene Optionen ausprobieren usw.) nichts funktioniert so, wie ich es erwarte.

+1

Wie haben Sie das Paket erstellt? Ich möchte es lernen . Können Sie einige Ressourcen und Beispiele für dieses Paket Themen teilen – babygame0ver

+0

Es ist vor allem ein Test, so dass es nichts wirklich kreativ Ich hauptsächlich gefolgt Tutorial und versuchte es zu meinem hier ist das Tutorial ich folgte: [Link] (https: // Python-Verpackung .readthedocs.io/de/latest/minimal.html) –

+0

ya Ich brauche Tutorials, wenn Sie irgendwelche haben, dann teilen Sie es bitte mit mir. Videos werden geschätzt – babygame0ver

Antwort

0

Sie haben das Python-Paket 'toto.py' erstellt. Sie möchten es in das Python-Skript 'tata.py' importieren. Sie schreiben "Import-Toto" in das Tata-Skript und legen die Datei "toto.py" in ein Verzeichnis, das in der Umgebungsvariablen PYTHONPATH enthalten ist.

Obwohl ich Python 2 nicht verwende, scheint es mir das gleiche für Python 2 und 3. Daher bin ich mir nicht sicher, ob ich die Frage verstanden habe.

+0

Ja, ich verstehe das, aber die Probleme sind, dass ich möchte, dass es auf der Paketinstallation durchgeführt wird, denn wenn ich mein Paket an jemand anderen gebe Ich möchte nicht, dass diese Person das Paket in ein bestimmtes Verzeichnis legt. Die Sache, die ich nicht verstehe, ist, dass wenn ich python3 starte, ich mein Paket importieren und es verwenden kann, aber in einem Skript sagt er mir, dass der Import ausgeführt werden kann, außer wenn ich 'sys.path.append ('Path To My Package') hinzufüge ")" –

Verwandte Themen