Maison  >  Questions et réponses  >  le corps du texte

Résoudre le problème de connexion entre Django Elastic Beanstalk et RDS MySQL

<p>J'essaie de connecter mon Django Elastic Beanstalk à mon RDS MySQL. Mon Django fonctionne correctement avec mon RDS MySQL via localhost, mais lorsque j'essaie de télécharger mon Django sur Elastic Beanstalk, j'obtiens l'erreur « Échec de l'application de déploiement » et AWS affiche l'erreur suivante. Mon projet a mysqlclient dans Requirements.txt comme indiqué ici : </p> <p>https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-rds.html</p> <p>Selon la page, cela devrait suffire. J'ai certainement essayé de rechercher des problèmes similaires, mais jusqu'à présent sans succès. J'ai remarqué que de nombreuses questions mentionnent la nécessité d'avoir un fichier packages.config dans le dossier .ebextensions et j'ai essayé plusieurs de ces suggestions sans succès. Est-ce un problème? Pourquoi cela n'est-il pas mentionné sur la page AWS ? </p> <pre class="brush:php;toolbar:false;">× python setup.py egg_info n'a pas été exécuté correctement. │ code de sortie : 1 ╰─> [16 lignes de sortie] /bin/sh : mysql_config : commande introuvable /bin/sh : mariadb_config : commande introuvable /bin/sh : mysql_config : commande introuvable Traceback (dernier appel le plus récent) : Fichier "<string>", ligne 2, dans <module> Fichier "<pip-setuptools-caller>", ligne 34, dans <module> Fichier "/tmp/pip-install-r0dz9d2g/mysqlclient_f2b5c53e43a648c284b06f7af63d9855/setup.py", ligne 15, dans <module> métadonnées, options = get_config() Fichier "/tmp/pip-install-r0dz9d2g/mysqlclient_f2b5c53e43a648c284b06f7af63d9855/setup_posix.py", ligne 70, dans get_config libs = mysql_config("libs") Fichier "/tmp/pip-install-r0dz9d2g/mysqlclient_f2b5c53e43a648c284b06f7af63d9855/setup_posix.py", ligne 31, dans mysql_config raise OSError("{} introuvable".format(_mysql_config_path)) OSError : mysql_config introuvable mysql_config --version mariadb_config --version mysql_config --libs [fin de la sortie]</pre></p>
P粉716228245P粉716228245439 Il y a quelques jours594

répondre à tous(1)je répondrai

  • P粉777458787

    P粉7774587872023-08-29 13:37:05

    Répondez à votre propre question. Plus tard, j'ai posé une question similaire AWS Elastic Beanstalk RDS MacOS mysqlclient ne fonctionne pas et j'ai obtenu de l'aide.

    La réponse est bien le fichier packages.config, les fichiers nécessaires à l'installation via yum (veuillez vous référer au lien ci-dessus). Il y a autre chose qui ne va pas dans mon code, mais j'obtiens la même erreur que ci-dessus, même si packages.config est correctement défini. J'ai trouvé ce problème parce que j'ai essayé de le redéfinir sur une base de données SQLite et de le télécharger sur Elastic Beanstalk, mais cela n'a pas fonctionné. (Désolé, je ne me souviens plus de l'erreur que j'ai eue, j'étais nerveux, je pense que c'était l'erreur "111 : Connexion refusée".)

    La façon dont j'ai fait fonctionner les choses était de supprimer tous les fichiers de configuration, de recommencer avec un projet terminé et de suivre le tutoriel (comme je l'ai fait avant) : https://docs.aws.amazon.com /elasticbeanstalk/latest/ dg/create-deploy-python-django.html https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-rds.html#python-rds-connect

    À partir de là, j'ai ajouté un fichier packages.config dans mon dossier .ebextensions avec le code suivant...

    packages: 
      yum:
        python3-devel: []
        mariadb-devel: []

    ...comme mentionné dans mon autre question liée ci-dessus, et ici : erreur d'installation de mysqlclient dans AWS Elastic Beanstalk

    J'ai aussi besoin de gunicorn et d'un Procfile, mais j'ai déjà résolu ce problème, mais si vous êtes ici à cause de problèmes avec Elastic Beanstalk et RDS, cela vaut également la peine de le mentionner.

    Je ne comprends pas non plus si je peux utiliser yum dans le fichier packages.config si je n'ai pas yum sur mon ordinateur, d'autant plus que j'utilise MacOS et que l'utilisation de yum sur MacOS n'est pas courante. Cette question trouve une réponse dans une autre question que j'ai liée ci-dessus, et la réponse est que vous n'avez pas besoin d'installer yum sur votre machine dans ce cas car yum est utilisé par le serveur Amazon Linux 2 d'Elastic Beanstalk dans ce cas.

    répondre
    0
  • Annulerrépondre