2014-05-23 6 views
1

J'ai utilisé un paquet externe Python rapportive.py localement et cela fonctionne très bien. Maintenant, j'essaie de l'utiliser sur OpenShift. Je suis en mesure d'installer le paquet avec succès via requirements.txt & je peux l'importer, mais chaque fois que j'essaie de l'utiliser, je reçois un JSONDecodeError:Erreur Simplejson sur Openshift

Python 2.7.5 (default, Aug 16 2013, 05:57:04) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

>>> from rapportive import rapportive 
>>> profile = rapportive.request("[email protected]") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/var/lib/openshift/537830065973ca131b00036b/app-root/runtime/dependencies/python/virtenv/src/rapportive/rapportive/rapportive.py", line 83, in request 
    response = requests.get(status_url).json() 
    File "/var/lib/openshift/537830065973ca131b00036b/python/virtenv/lib/python2.7/site-packages/requests-2.3.0-py2.7.egg/requests/models.py", line 763, in json 
    return json.loads(self.text, **kwargs) 
    File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/simplejson/__init__.py", line 453, in loads 
    return _default_decoder.decode(s) 
    File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 429, in decode 
    obj, end = self.raw_decode(s) 
    File "/opt/rh/python27/root/usr/lib64/python2.7/site-packages/simplejson/decoder.py", line 451, in raw_decode 
    raise JSONDecodeError("No JSON object could be decoded", s, idx) 
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0) 

Je ne sais pas si ce problème d'OpenShift, ou s'il me manque quelque chose de vraiment simple. Mais de toute façon, je pourrais aider. Merci!

Répondre

0
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/var/lib/openshift/537830065973ca131b00036b/app-root/runtime/dependencies/python/virtenv/src/rapportive/rapportive/rapportive.py", line 83, in request 
    response = requests.get(status_url).json() 

Cette partie de la trace de pile indique la ligne en rapportive.py qui a échoué, ce qui suggère donc que requests.get() ne retourne pas une réponse valide qui peut être converti en un objet JSON. Est-ce exactement le même code que vous avez testé localement, avec le même utilisateur de test?

Essayez d'exécuter le code suivant sur OpenShift et voir si des erreurs sont jetés:

import requests 
STATUS_URL = 'https://rapportive.com/[email protected]' 
response = requests.get(STATUS_URL) 

Si ce code fonctionne sans erreur, il devrait être possible de faire fonctionner alors response.json sans erreur. Cela devrait au moins vous orienter dans la bonne direction en tant que problème.

+0

merci de répondre. Oui, je cours le même code et interroge le même utilisateur localement et sur OpenShift. lorsque je 'réponse d'impression', la sortie est' '- mais il ne renvoie pas d'erreur. – nealrs

+0

Cela indiquerait que OpenShift est en quelque sorte à l'origine du problème. Essayez le code de test ci-dessus et voyez si vous pouvez obtenir une réponse valide. :) – Talvalin

+0

welp, j'imagine que mon instance OpenShift obtient un taux limité. – nealrs