CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Python - Problème importation de mes modules

Lairv
Lairv
Niveau 9
19 mars 2017 à 14:21:59

J'explique le problème : j'avais un gros code de 2000 lignes, et ca devenait beaucoup trop chiant de travailler avec toutes ces lignes, la navigation n'était pas agréable, du coup j'ai décidé de créer un fichier .py pour chaque type de classe/fonctions qu'il y avait dans mon fichier de base.
Enfin j'ai créer un gros fichier dans lequel j'importe tout les autres, et j'appelle toutes les fonctions nécessaires.
Mais quand je lance le script, j'ai une erreur , voila l'erreur :

- j'ai créer un fichier entities.py avec toutes les entités du programme. Dans ce fichier entities.py, y'a une classe Entity.

- dans le fichier qui importe tout les sous-fichier (j'utilise la commande from entities import *, donc toutes les classes devraient etre chargées), j'ai besoin d'utiliser la classe Entity. Donc normalement, je fait :

slime = Entity()

Et sur cette ligne, j'obtient une erreur, me disant que l'objet Entity n'existe pas, alors que au début du code, j'avais écrit :

from entities import *

Et que le fichier entities.py contient la classe Entity

Vous pouvez m'aider ?

El_Camino
El_Camino
Niveau 10
19 mars 2017 à 14:24:46

Perso je fait

import monfichier
from monfichier import*

Lairv
Lairv
Niveau 9
19 mars 2017 à 15:00:51

Le 19 mars 2017 à 14:24:46 El_Camino a écrit :
Perso je fait

import monfichier
from monfichier import*

J'y avait pas pensé, mais ca marche toujours pas ...

Grymmis
Grymmis
Niveau 19
19 mars 2017 à 15:25:32

Ton module et ton code principal se trouvent bien dans le même répertoire ? :(

Et en passant, on préférera utiliser " import monfichier " plutôt que " from monfichier import * ", tout simplement pour éviter les conflits éventuels de nomenclature...

MrGreez94
MrGreez94
Niveau 10
19 mars 2017 à 19:31:52

Ton fichier entities.py n'est pas au même niveau d'arborescence que le fichier qui importe tout, je vois que ça :(

Et en passant, on préférera utiliser " import monfichier " plutôt que " from monfichier import * ", tout simplement pour éviter les conflits éventuels de nomenclature...

+1
ça permet aussi de facilement retracer l'origine des méthodes appelées

Lairv
Lairv
Niveau 9
19 mars 2017 à 20:12:58

Le 19 mars 2017 à 19:31:52 MrGreez94 a écrit :
Ton fichier entities.py n'est pas au même niveau d'arborescence que le fichier qui importe tout, je vois que ça :(

Et en passant, on préférera utiliser " import monfichier " plutôt que " from monfichier import * ", tout simplement pour éviter les conflits éventuels de nomenclature...

+1
ça permet aussi de facilement retracer l'origine des méthodes appelées

Si tout mes fichiers sont dans le même dossier :(
Au passage merci pour l'info

Grimmys
Grimmys
Niveau 19
19 mars 2017 à 20:54:29

Bon, étant donné que dans ce cas je ne vois pas du tout quelle peut-être la cause du problème (et je crois que personne non plus), pourrais-tu nous montrer la définition de ta classe de Entity, ainsi que le message d'erreur exact que tu reçois ?

Lairv
Lairv
Niveau 9
19 mars 2017 à 21:43:52

Bon déja, je tient a dire que mon code marchait parfaitement avant que je split en plusieurs fichiers.
Voila les screens :
- La classe Entity, elle sert juste de parent a toute classe utilisant des sprites : https://image.noelshack.com/fichiers/2017/11/1489955860-entity.png
- Le message d'erreur : https://image.noelshack.com/fichiers/2017/11/1489955942-message-erreur.png
- Et pour vous prouver que tout est bien dans le meme dossier (Game.py étant le fichier qui rassemble tout) :
https://image.noelshack.com/fichiers/2017/11/1489956135-dossier.png

MrGreez94
MrGreez94
Niveau 10
20 mars 2017 à 11:50:48

As-tu bien importé entitiesdans le fichier qui définie la classe Platefome?

Ta classe Plateforme(Entity)hérite deEntity, ça suppose de que tu as importé entities.py d'une des manières suivantes :

from entities import Entity
from entities import *
import entities.Entity as Entity  # J'ai un doute pour celle là

Si tu as simplement importé entities comme ça:

import entities

Il faut déclarer ta classe de cette manière:

Plateforme(entities.Entity)
Message édité le 20 mars 2017 à 11:54:11 par MrGreez94
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment