J'ai essayé de créer un nouveau module en Python. C'est le lien git: https://github.com/Sanmitha-Sadhishkumar/strman Après avoir téléchargé et installé cela à l'aide de pip, j'ai trouvé que je pouvais accéder à ce module en tant que

import strman.strman as s
s.func_name

Quels sont les changements à apporter pour y accéder en tant que

import strman
strman.func_name
1
Sanmitha Sadhishkumar 17 août 2020 à 13:19

2 réponses

Meilleure réponse

Dans votre fichier __init__.py, vous souhaitez utiliser une importation relative.

from .strman import *

Vous avez un package strman (le répertoire externe) et en son sein un module strman (le fichier strman.py). C'est un modèle parfaitement courant. Mais sans l'importation relative, votre __init__.py n'importait pas assez profondément dans la hiérarchie.

Plus généralement, chaque fois que vous importez depuis un module frère dans un projet, vous devez presque toujours utiliser une importation relative, car elle est explicite et évite diverses complications, comme l'exemple dans votre cas.

1
FMc 17 août 2020 à 11:14

Vous devez déplacer les fichiers dans le répertoire principal. Votre répertoire ressemblera à ceci

\myProject
    - init.py
    - strman.py
    - main.py # <-- this would be the file your programming is

En savoir plus sur les modules dans la documentation

-1
BoomshakalakaNL 17 août 2020 à 10:32