https://stackoverflow.com/questions/766 ... red-by-pip
Übersetzung:
Ich versuche gerade, Teile meines Codes in Pakete zu verpacken, die mit pip ausgeliefert werden sollen. Aber ich verstehe das folgende nicht: Es gibt das Verzeichnis my_package welches die Dateien __init__.py (leer), my_module.py (mit etwas Code), setup.py:
Code: Alles auswählen
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1',
description='My Package',
author='Its me',
author_email='my.email@address.moon',
packages=find_packages(),
install_requires=[
'cx_Oracle>=7.2.2'
]
)
Code: Alles auswählen
...my_package>python.exe setup.py sdist
Dann habe ich ein Testmodul test.py erzeugt mit dem folgenden Inhalt:...inside_venv>Scripts\pip.exe install <complete_path_to_dist\mypackage-0.1.tar.gz>
Code: Alles auswählen
import cx_Oracle
print(cx_Oracle.version)
import mypackage
Das hat anscheinend auch alles funktioniert (ich bekam die Nachricht: neuere PIP- Version vorhanden)
Das Modul cx_Oracle wurde ohne Probleme erfolgreich installiert (die Version ist aktueller, als alle anderen auf meinem Rechner), aber es ist unmöglich, das Modul my_packages zu importieren.
Die Fehlermeldung lautet: ModuleNotFoundError: No module named 'mypackage'
Ich habe folgende Dinge ausprobiert:
- Original hieß das package my_package und ich habe viel Zeit damit verbracht, alle Kombinationen aus "_" und "-" auszuprobieren, so dass ich mich letzendlich entschied, das package ohne Unterstrich zu benennen.
- Ich habe PIP in der virtuellen Umgebung aktualisiert
- Ich habe das Package außerhalb der virtuellen Umgebung installiert
(nebenbei bemerkt: Der Code innerhalb my_module.py funktioniert ohne Probleme, wenn ich ihn direkt aufrufe.
Irgendwelche Ideen?
Vielen Dank für Eure Mühe