J'ai essayé d'installer Plot.ly Python SDK, je l'ai inclus dans le requirements.txt mais échoue encore et je reçois une erreur Page introuvable lors de l'appel d'une page desservis par Flask.Comment utiliser Plotly Python SDK dans AWS Elastic Beanstalk
0
A
Répondre
0
Le problème avec Plot.ly est qu'il nécessite les informations d'identification à installer:
import plotly
plotly.tools.set_credentials_file(username='SomeDemoAccount', api_key='SomeAPIKey')
Et cela ne fonctionnera pas en tant que code, pas de ssh dans la console car l'instance ne a accès au fichier ~/.plotly/.credentials
, c'est-à-dire qu'il ne peut pas le créer ni y accéder, donc tout appel à l'API échouera toujours. Dans les journaux AWS vous obtenez l'erreur suivante:
Looks like you don't have 'read-write' permission to your 'home' ('~') directory or to our '~/.plotly' directory. That means plotly's python api can't setup local configuration files. No problem though! You'll just have to sign-in using 'plotly.plotly.sign_in()'. For help with that: 'help(plotly.plotly.sign_in)'.
Donc, la solution est d'appeler la méthode plotly.plotly.sign_in()
qu'il est même pas mentionné dans leur guide de démarrage, ni la référence de l'API, et il doit être appelé avec les arguments suivants :
plotly.plotly.sign_in("Your Plotly Username","Your Plotly API Key")
que je mis en œuvre en ayant ces valeurs comme des propriétés d'environnement EB:
plotly.plotly.sign_in(os.environ['YOUR_PLOTLY_USERNAME_ENV_PROPERTY_NAME'],os.environ['YOUR_PLOTLY_API_KEY_ENV_PROPERTY_NAME'])