#1 Le 28/06/2023, à 18:29
- Vincent31
Debutant en programation bloquer (python)
Salut a tous
J'ai envie de me faire une petite appli pour me faciliter la vie
J'ai trouver ce qu'il me faut sur git hub
https://github.com/norn/bustime
Je suis les étapes du mieux que je peux vue que je comprend quasiment rien.
Je suis sur ubuntu 22.04
Pour l'etape 1 pas de probleme
Pour l'etape 2 je fait en 1er:
python3 -m venv /home/bonnefoy/tisseo/virtuel
Une fois fini je fait
source /home/bonnefoy/tisseo/virtuel/bin/activate
Suivit de
pip install -r /home/bonnefoy/tisseo/bustime-master/docs/pips/pips.freeze
Et la j'ai un probleme que voici:
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [8 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 11, in <module>
File "/usr/lib/python3.10/tokenize.py", line 33, in <module>
import re
File "/usr/lib/python3.10/re.py", line 145, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
J'ai chercher sur internet et je teste les solutions proposer mais j'ai l'impression de tourner autour du probleme sans le resoudre. Je parle absolument pas anglais. Es que quelqu'un acepterais de m'aider?
Par avance merci
Dernière modification par Vincent31 (Le 28/06/2023, à 19:14)
Hors ligne
#2 Le 29/06/2023, à 19:46
- Vobul
Re : Debutant en programation bloquer (python)
C'est-à-dire que tu es un peu entrain de faire de l'archéologie là. Ton projet bustime a 8 ans, il a besoin d'une librairie qui date de 2012 dont le repo n'est plus existant.
Même en commentant la ligne "anyjson", après ça bloque sur enum34, puis après sur future. Bref, tu peux tenter le coup en utilisant un vieux python et un vieux pip "d'époque", mais trouve plutôt un projet maintenu.
Tu veux faire quoi au final ? Tu veux les horaires de bus, dans quelle ville ? Si tu veux apprendre à programmer, trouve un service avec une API REST et utilise ça ! Ou récupère un CSV.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 01/07/2023, à 06:33
- Vincent31
Re : Debutant en programation bloquer (python)
Salut
Ce que je voudrais c'est extraire du fichier gtfs le nombre de bus circulant a un jour et une heure déterminer. Le fichier gtfs c'est plusieurs fichier .txt qui ont tous des infos complémentaire. Pour ca faut que je recupere sur un fichier les codes dispo a un jour preci pour les lister:
service_id,date,exception_type
1102869,20230624,1
1102869,20230701,1
1102870,20230624,1
1102870,20230701,1
1102871,20230624,1
1102871,20230701,1
1102872,20230624,1
1102872,20230701,1
1102873,20230624,1
1102873,20230701,1
1102897,20230618,1
1102897,20230625,1
1102897,20230702,1
1102898,20230618,1
1102898,20230625,1
1102898,20230702,1
1102899,20230618,1
1102899,20230625,1
1102899,20230702,1
Avec cette liste faut que je garde que ceux a une heure determiner sur un autre fichier .txt:
trip_id,arrival_time,departure_time,stop_id,pickup_type,drop_off_type,stop_sequence,shape_dist_traveled,timepoint,stop_headsign
1540087,06:30:00,06:30:00,stop_point:SP_4341,0,1,1,0,1,
1540087,06:32:00,06:32:00,stop_point:SP_4416,0,0,2,1541.60429269,1,
1540087,06:33:00,06:33:00,stop_point:SP_4419,0,0,3,2181.38062353,1,
1540087,06:34:00,06:34:00,stop_point:SP_4365,0,0,4,2456.44157964,1,
1540087,06:35:00,06:35:00,stop_point:SP_4354,0,0,5,2891.36802226,1,
1540087,06:36:00,06:36:00,stop_point:SP_4370,0,0,6,3115.5524032,1,
1540087,06:37:00,06:37:00,stop_point:SP_4164,0,0,7,3617.95533657,1,
1540087,06:38:00,06:38:00,stop_point:SP_1419,0,0,8,3924.84716969,1,
1540087,06:39:00,06:40:00,stop_point:SP_4797,1,0,10,4390.34193626,1,
1540088,06:45:00,06:45:00,stop_point:SP_4341,0,1,1,0,1,
1540088,06:47:00,06:47:00,stop_point:SP_4416,0,0,2,1541.60429269,1,
1540088,06:48:00,06:48:00,stop_point:SP_4419,0,0,3,2181.38062353,1,
1540088,06:49:00,06:49:00,stop_point:SP_4365,0,0,4,2456.44157964,1,
1540088,06:50:00,06:50:00,stop_point:SP_4354,0,0,5,2891.36802226,1,
1540088,06:51:00,06:51:00,stop_point:SP_4370,0,0,6,3115.5524032,1,
1540088,06:52:00,06:52:00,stop_point:SP_4164,0,0,7,3617.95533657,1,
1540088,06:53:00,06:53:00,stop_point:SP_1419,0,0,8,3924.84716969,1,
1540088,06:54:00,06:55:00,stop_point:SP_4797,1,0,10,4390.34193626,1,
1540089,07:05:00,07:05:00,stop_point:SP_4341,0,1,1,0,1,
Avec cette liste reduite faut que je trouve a quelle ligne ils correspondent et ca c'est dispo sur un 3eme fichier .txt
route_id,service_id,trip_id,direction_id,shape_id
line:61,27_1055629,1716561,0,10437
line:61,27_1055631,1716563,0,10437
line:61,27_1055632,1716564,0,10437
line:61,27_1055633,1716565,0,10437
line:61,27_1055634,1716566,0,10437
line:61,27_1055635,1716567,0,10437
line:61,27_1055636,1716568,0,10437
line:61,27_1055637,1716569,0,10437
line:61,27_1055638,1716570,0,10437
line:61,27_1055639,1716571,0,10437
line:61,27_1055640,1716572,0,10437
line:61,27_1055641,1716573,0,10437
line:61,27_1055642,1716574,1,10438
line:61,27_1055643,1716575,1,10438
line:61,27_1055644,1716576,1,10438
line:61,27_1055645,1716577,1,10438
line:61,27_1055646,1716578,1,10438
line:61,27_1055648,1716580,1,10438
line:61,27_1055649,1716581,1,10438
line:61,27_1055651,1716583,1,10438
line:61,27_1055652,1716584,1,10438
line:61,27_1055653,1716585,1,10438
line:61,27_1055655,1716587,1,10438
line:61,27_1055656,1716588,1,10438
line:61,27_1055657,1716589,1,10438
line:61,27_1055658,1716590,1,10438
line:61,27_1055659,1716591,1,10438
line:61,27_1055660,1716592,1,10438
line:61,27_1055661,1716593,1,10438
line:61,27_1055662,1716594,1,10438
line:61,27_1055663,1716595,1,10438
line:61,27_1055664,1716596,1,10438
line:61,27_1055665,1716597,1,10438
Et la faut que je compte le nombre de fois que la meme ligne ressort et que je la convertisse au numero visible sur le réseau avec un 4eme fichier .txt:
route_id,agency_id,route_short_name,route_long_name,route_color,route_text_color,route_type
line:182,network:1,101,Balma - Gramont / Mondouzil ZA Les Landes,bb9dc6,ffffff,3
line:183,network:1,102,Balma - Gramont / Drémil Stade,3f2682,ffffff,3
line:184,network:1,103,Balma - Gramont / Drémil Le Colombier,58ac25,ffffff,3
line:185,network:1,104,Balma Ribaute / Aigrefeuille Ch. du Baric,e675a7,ffffff,3
line:194,network:1,107,Fonsegrives Entiore / Drémil Stade,a0670f,ffffff,3
line:70,network:1,109,Malepère / Castanet-Tolosan,e46809,ffffff,3
line:82,network:1,110,Barrière de Paris / Ginestous Chênes,0098d4,ffffff,3
line:81,network:1,111,Ramonville / Théogone,dc006b,ffffff,3
line:83,network:1,112,Ramonville / Montjoie,007c52,ffffff,3
line:100,network:1,113,Fenouillet Croix / Collège Pechbonnieu,e46809,ffffff,3
line:87,network:1,114,Borderouge / Quartier Virebent,58ac25,ffffff,3
line:89,network:1,115,Saint Agne - SNCF / Université Paul Sabatier,007c52,ffffff,3
line:102,network:1,116,Tournefeuille Lycée / Saint-Lys Rossignols,0098d4,ffffff,3
line:101,network:1,117,Basso Cambo / Muret Gare SNCF,0098d4,ffffff,3
line:197,network:1,121,Tournefeuille Les Chênes / La Salvetat Apouticayre,dc006b,ffffff,3
line:142,network:1,13,Saint Cyprien - République / Oncopole Courrière,3f2682,ffffff,3
line:151,network:1,130,Andromède Lycée / Fenouillet Centre Commercial - Entrée Sud,a0670f,ffffff,3
line:207,network:1,131,Saint-Alban Salvador Allende / Bruguières Gutenberg,58ac25,ffffff,3
Comme en programmation j'y connait rien et que les tuto sur internet on que des morceaux de code mais pas de code complet je peux rien faire. Vue mes connaissance je vais essayer de voir si sur libre office je peux arriver a quelque chose mais je suis pas sur. Si tu vois un autre moyen je prend.
Hors ligne
#4 Le 01/07/2023, à 11:58
- Vobul
Re : Debutant en programation bloquer (python)
Fais-toi aider par ChatGPT, tu verras, si tu lui expliques bien le problème il pourra te guider pas-à-pas.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#5 Le 01/07/2023, à 12:05
- Watael
Re : Debutant en programation bloquer (python)
J'ai envie de me faire une petite appli mais en programmation j'y connait rien et je parle absolument pas anglais
tu pars de très très loin.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 01/07/2023, à 12:24
- Vobul
Re : Debutant en programation bloquer (python)
tu pars de très très loin.
Écoute, au moins il ne veut pas créer un système d'exploitation, c'est déjà pas mal.
@Vincent31, déjà il faut que tu te rendes compte que tes fichiers sont des fichiers CSV. Tu peux utiliser la librairie "pandas" pour python, charger tes données, et les manipuler comme tu le souhaites.
Et voici ce que donne chatgpt :
Pour compter le nombre de fois qu'une même ligne apparaît et la convertir en numéro visible sur le réseau, vous pouvez utiliser le fichier contenant les informations des lignes (par exemple, "routes.txt") et le comparer avec le fichier contenant les enregistrements correspondants aux lignes filtrées.
Voici comment vous pouvez le faire :
Ouvrez le fichier contenant les informations des lignes (par exemple, "routes.txt") dans votre fichier GTFS.
Parcourez le fichier et pour chaque enregistrement, vérifiez si la valeur de "route_id" correspond à celle des enregistrements dans le fichier filtré.
Si les "route_id" correspondent, comptez le nombre d'occurrences de cette ligne et notez le numéro de ligne visible sur le réseau correspondant.
Voici un exemple en Python pour vous aider à comprendre le processus :
import csv
fichier_routes = "routes.txt" # Fichier contenant les informations des lignes
fichier_destinations = "lignes_converties.txt" # Fichier de destination pour les lignes converties
with open(fichier_routes, "r", encoding="utf-8") as routes_file, open(fichier_destinations, "w", encoding="utf-8") as destinations_file:
reader = csv.reader(routes_file)
writer = csv.writer(destinations_file)
header = next(reader) # Ignorer l'en-tête du fichier source
writer.writerow(header) # Copier l'en-tête dans le fichier de destination
lignes_filtrées = [...] # Liste des lignes filtrées avec les enregistrements correspondants
lignes_converties = {} # Dictionnaire pour compter le nombre d'occurrences des lignes
for ligne in lignes_filtrées:
route_id = ligne[0] # Colonne correspondant à "route_id"
if route_id not in lignes_converties:
lignes_converties[route_id] = 1
else:
lignes_converties[route_id] += 1
for row in reader:
route_id = row[0] # Colonne correspondant à "route_id"
if route_id in lignes_converties:
num_ligne = lignes_converties[route_id]
row[0] = num_ligne # Remplace le "route_id" par le numéro de ligne visible sur le réseau
writer.writerow(row) # Écrire l'enregistrement correspondant dans le fichier de destination
Assurez-vous de remplacer les noms de fichiers appropriés et de mettre à jour la variable lignes_filtrées avec la liste des enregistrements filtrés provenant du fichier précédent.
Ce code parcourt le fichier des informations des lignes, compte le nombre d'occurrences de chaque ligne filtrée et convertit le "route_id" en numéro de ligne visible sur le réseau. Les enregistrements correspondants sont ensuite écrits dans un nouveau fichier appelé "lignes_converties.txt".
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#7 Le 01/07/2023, à 12:53
- Watael
Re : Debutant en programation bloquer (python)
et c'est ainsi que l'IA a commencé à asservir l'humanité : en utilisant des humains pour poster ses réponses sur les forums.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 01/07/2023, à 14:00
- Vobul
Re : Debutant en programation bloquer (python)
et c'est ainsi que l'IA a commencé à asservir l'humanité : en utilisant des humains pour poster ses réponses sur les forums.
Qu'est-ce qui te dit que je suis humain ?
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#9 Le 01/07/2023, à 14:11
- Nuliel
Re : Debutant en programation bloquer (python)
@Watael:
Qu'est ce qui est le plus rare: des oeufs de dinosaure ou des oeufs de vache?
Les œufs de dinosaure sont beaucoup plus rares que les œufs de vache. Les dinosaures ont disparu il y a des millions d'années et leurs œufs fossiles sont extrêmement rares. En fait, la plupart des découvertes de fossiles de dinosaures sont des os ou des empreintes, et les œufs fossilisés sont encore plus rares.
En revanche, les œufs de vache sont relativement courants. Les vaches sont des animaux domestiques répandus dans de nombreuses régions du monde, et elles produisent régulièrement des œufs en tant que partie de leur cycle de reproduction. Cependant, il est important de noter que les œufs de vache ne sont pas consommés comme aliment, contrairement aux œufs de poule, par exemple.
En conclusion, les œufs de dinosaure sont extrêmement rares en raison de l'extinction des dinosaures, tandis que les œufs de vache sont courants en raison de la présence répandue des vaches domestiques.
C'est pas pour demain que l'IA va asservir l'humanité
Hors ligne
#10 Le 01/07/2023, à 15:13
- Vobul
Re : Debutant en programation bloquer (python)
C'est pas pour demain que l'IA va asservir l'humanité
Tout à fait d'accord. Néanmoins, l'utiliser comme outil pour t'expliquer des choses de façon conversationnelle c'est très sympa je trouve. Ou lui demander un truc précis afin d'éviter de faire une recherche web puis de cliquer sur 3 sites, puis de refuser les cookies, puis de scroller sur le contenu pour te rendre compte que c'est pas exactement ça que tu veux.
Genre toutes les questions qu'on voit sur ce forum en mode "programmation de base", l'AI y répond parfaitement, et tout le monde y gagne, le demandeur a une réponse complète, le répondant n'y passe pas 10 minutes.
Mais dès que tu pousses un peu, tu vois en effet qu'elle hallucine, genre elle t'invente des flags qui n'existent pas sur des commandes, etc... Mais les prochaines versions qui seront capables d'aller lire la doc et de te répondre à partir de ça, là ça va être cool. En fait ce que je trouve fort c'est surtout la très bonne compréhension du langage. Même avec des fautes de frappes et sans contexte, il comprend toujours ce que je lui demande !
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#11 Le 01/07/2023, à 15:16
- Watael
Re : Debutant en programation bloquer (python)
on va fermer le forum, et faire une redirection de la page d'accueil vers l'IA, ça t'évitera aussi de faire des copier/coller.
quant aux œufs de vaches, toutes les animales ont des œufs.
Dernière modification par Watael (Le 01/07/2023, à 15:18)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 01/07/2023, à 15:20
- Vobul
Re : Debutant en programation bloquer (python)
@Watael dans un thread j'avais fait flotter l'idée d'avoir un chatbot qui réponde (sur le nouveau forum), et franchement je pense que ça pourrait être top, parce que BEAUCOUP de questions de ce forum sont facilement gérable par une ai, surtout si on la customise un peu. L'avantage serait qu'un nouveau venu qui pose une question de débutant dispose d'une réponse complète et détaillée directement. Après faut mettre un avertissement pour que ce soit clair que c'est une ai et que faut faire gaffe, mais je trouve l'expérience intéressante.
regarde ce thread: https://forum.ubuntu-fr.org/viewtopic.php?id=2079981 l'OP est content, et c'est du 100% chatgpt
Dernière modification par Vobul (Le 01/07/2023, à 15:21)
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#13 Le 01/07/2023, à 15:33
- iznobe
Re : Debutant en programation bloquer (python)
Salut , l ' avantage , c ' est que le bot , il a pas besoin de remunération , ne se met pas en greve , et il est dispo H24 , 7j / 7 , et pas grand chose a faire une fois correctement configuré
j ' ai toujours dit que les faignants ( dont je fais parti ) etaient plein de bon sens pour trouver de bonnes solutions économes en effort
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#14 Le 01/07/2023, à 15:36
- iznobe
Re : Debutant en programation bloquer (python)
@Watael dans un thread j'avais fait flotter l'idée d'avoir un chatbot qui réponde (sur le nouveau forum), et franchement je pense que ça pourrait être top, parce que BEAUCOUP de questions de ce forum sont facilement gérable par une ai, surtout si on la customise un peu. L'avantage serait qu'un nouveau venu qui pose une question de débutant dispose d'une réponse complète et détaillée directement. Après faut mettre un avertissement pour que ce soit clair que c'est une ai et que faut faire gaffe, mais je trouve l'expérience intéressante.
regarde ce thread: https://forum.ubuntu-fr.org/viewtopic.php?id=2079981 l'OP est content, et c'est du 100% chatgpt
Ha , je comprends mieux pourquoi c' est aussi bien detaillé dans tes posts depuis quelques temps , a la façon des trucs de depannage en ligne ... lol vive le copier coller du coup !
je pensais que tu t ' etais reconverti en depanneur d' assistance en ligne depuis environ un mois , mais non , en fait tu utilises juste chatgpt , quel filou
Dernière modification par iznobe (Le 01/07/2023, à 15:38)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#15 Le 01/07/2023, à 16:13
- Vobul
Re : Debutant en programation bloquer (python)
ahah iznobe
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#16 Le 01/07/2023, à 16:13
- Vincent31
Re : Debutant en programation bloquer (python)
Merci pour chatgpt vue mes connaissance et mes besoin au lieu d'apprendre a programmer et de m'arracher les cheveux car je comprend rien de ce que je lit sur https://frederic-lang.developpez.com/tu … n-de-zero/ j'ai juste a lui demander comment faire les codes
Hors ligne
#17 Le 01/07/2023, à 16:22
- Vobul
Re : Debutant en programation bloquer (python)
Merci pour chatgpt vue mes connaissance et mes besoin au lieu d'apprendre a programmer et de m'arracher les cheveux car je comprend rien de ce que je lit sur https://frederic-lang.developpez.com/tu … n-de-zero/ j'ai juste a lui demander comment faire les codes
Cet article est de grande qualité. Si après l'avoir lu tu ne piges toujours rien, poses-toi les bonnes questions.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#18 Le 01/07/2023, à 16:27
- Vincent31
Re : Debutant en programation bloquer (python)
Vincent31 a écrit :Merci pour chatgpt vue mes connaissance et mes besoin au lieu d'apprendre a programmer et de m'arracher les cheveux car je comprend rien de ce que je lit sur https://frederic-lang.developpez.com/tu … n-de-zero/ j'ai juste a lui demander comment faire les codes
Cet article est de grande qualité. Si après l'avoir lu tu ne piges toujours rien, poses-toi les bonnes questions.
Il y a beaucoup trop d'information pour arriver a tous enregistrer et je sais que l'informatique n'est pas pour moi. Mon cerveau et trop obsolète pour le 21eme siècle mais cela ne me gêne pas. Enfin la pour mon projet si je suis a la limite de ce que je suis capable de faire mais tous s'apprend et rien n'est impossible avec le temps j'y arriverais.
Hors ligne
#19 Le 16/07/2023, à 13:16
- Vincent31
Re : Debutant en programation bloquer (python)
J'ai bien utiliser chatgpt mais je suis bloquer a ses limite et je n'est aucune competance pour y arriver. Il m'affiche les résultats dans un diagramme de gantt ce qui est très bien mais il ne sais pas l'organiser pour qu'il soit lisible. Es que quelqu'un saurais m'aider pour pouvoir organiser ce diagramme pour qu'il soit lisible?
Hors ligne
#20 Le 26/02/2024, à 23:00
- alex2423
Re : Debutant en programation bloquer (python)
A mon avis, si tu n'as pas d'expérience dans le développement, tu veux sauter les étapes trop rapidement.
Tu devrais dans un premier temps, comment on fait pour installer des modules, comment on se créer un environnement virtuel Python, comment on utilise les boucles, les if, comment on lit un fichier ....
puis après en effet tu te renseignera sur l'utilisation de Panda.
Comme tu as pu le remarquer dans ton tutoriel, c'est presque trop complet. Essaie de suivre plutot un tuto moins complet mais qui te permet d'aquérir la base. J'aime beaucoup pour ce faire doctor python :
https://python.doctor/
Au sujet, de chat GPT, attention en terme de vie privée, c'est loin d'être top. Et sinon au temps utilisé la version française :
https://invidious.privacydev.net/watch?v=mc2Qli9ImOI (lien Invidious)
https://youtu.be/mc2Qli9ImOI (ou lien direct YT)
EDIT : oups, je viens de voir la date du post
Dernière modification par alex2423 (Le 26/02/2024, à 23:05)
Hors ligne
#21 Le 27/02/2024, à 18:39
- Vincent31
Re : Debutant en programation bloquer (python)
Salut
Merci de detterer le sujet je l'avais oublier. Pour le script j'ai demander a chatgpt des modifications et au lieu de m'afficher le résultat sous forme de diagramme (ce quil fait toujours j'ai oublier de mettre des # devant les lignes du diagrame) il m'affiche le résultat sous forme de liste. C'est pas pratique mais j'arrive a avoir ce que je veux et je vais m'en contenter.
Dernière modification par Vincent31 (Le 27/02/2024, à 18:39)
Hors ligne