2016-07-15 13 views
0

Ich habe ein "hausgemachtes" Python-Paket, das ich über Pip-Paket-Manager erfolgreich installieren kann.Verteilen Pip-Paket kein Quellcode

Ich mag würde ti sie verteilen, ohne den Quellcode zu geben (* .py-Dateien) ... Ich habe versucht, sie zu kompilieren mit

python -m compileall .

und installiert dann durch pip install .

eingeben Allerdings kann das Modul nicht gefunden werden, wenn ich es in meine Anwendung importieren möchte.

ImportError: No module named...

Was schlagen Sie zu lösen?

Dank

+0

Es fehlen einige Schritte, z. tatsächlich das Paket bauen. –

Antwort

0

Ich denke, es Setuptools mit nicht als Verpackung bis *.pyc Dateien zu tun ist, weil normalerweise Sie sie nicht wollen.

Sie sollten eine Datei MANIFEST.in mit dem Inhalt

global-include *.py[co] 
global-exclude *.py 

Dies sagt Setuptools erstellen *.py Quelldateien auszuschließen und beinhalten *.pyc kompilierten Dateien.

erstellen Danach wird ein Source-Verteilungspaket

python setup.py sdist 

oder ein Rad

python setup.py bdist_wheel 

die ebenfalls C-Erweiterungen kompiliert.

+0

Danke, etwas geht weiter, aber jetzt weiß ich nicht, wie ich die komprimierte Datei mit * .py [co] Dateien installiere. Ich habe dist/package.tar.gz Datei aber es hat keine setup.py Datei innerhalb (ich denke nach manifest.in Datei) Wie soll ich fortfahren? – Fabiosoft

+0

[Fügen Sie einen weiteren Eintrag zu 'MANIFEST.in' hinzu (https://docs.python.org/3/distutils/sourcedist.html#specifying-the-files-to-distribute), der' setup.py' enthält. –