Python: ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyUnicodeUCS2_Replace
Je suis en train de construire un triviol script Python qui va récupérer les données à partir de l'URL et de l'enregistrer sur le serveur. Concider le code ci-dessous:
#!/usr/bin/python
import pprint
import json
import urllib2
def getUSGS_json():
print "Fetch data from URL"
fileName = 'data/usgsEarthquacks_12Hrs.json'
url = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson'
data = urllib2.urlopen(url).read()
if data:
try:
with open(fileName) as jsonGetData:
filePut = open(fileName, 'w+')
#add data
filePut.write(data)
filePut.close()
j = json.load(jsonGetData)
print j
except Exception, e:
print e
raise
else:
pass
finally:
pass
#end if
#end getUSGS_json
getUSGS_json()
Lors de l'exécution du script, j'obtiens les erreurs suivantes:
Traceback (most recent call last):
File "geoJsonFetch.py", line 4, in <module>
import urllib2
File "/usr/local/lib/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/usr/local/lib/python2.7/httplib.py", line 79, in <module>
import mimetools
File "/usr/local/lib/python2.7/mimetools.py", line 6, in <module>
import tempfile
File "/usr/local/lib/python2.7/tempfile.py", line 32, in <module>
import io as _io
File "/usr/local/lib/python2.7/io.py", line 51, in <module>
import _io
ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyUnicodeUCS2_Replace
J'ai regardé autour de sur DONC et trouvé des erreurs similaires comme cette une, mais ils ne semblent pas recevoir au cœur de pourquoi certaines personnes sont en mesure d'obtenir ce code à exécuter et je ne le suis pas. Ils semblent tous être aux prises avec des questions concernant le développement en C et à l'aide de Python pour accéder à ce module C.
Est-il de la version Ubuntu, la version de Python??
Merci.
si vous n'êtes pas à l'aide de
Il semble que vous avez plusieurs installations de Python qui se font écraser les uns sur les autres.
data = urllib2.urlopen(url).read()
?Il semble que vous avez plusieurs installations de Python qui se font écraser les uns sur les autres.
OriginalL'auteur Mr. Concolato | 2014-12-09
Vous devez vous connecter pour publier un commentaire.
Vous avez (au moins) deux différentes versions de Python est installé et que vous êtes mélanger leurs fichiers. Assurez-vous que
$PYTHONPATH
,$PYTHONHOME
etsys.path
seulement contenir des dossiers pour une seule installation de Python. Dans votre cas, une installation est en/usr/local
et l'autre est sans doute dans/usr
.Aussi, vous pouvez essayer d'installer
virtualenvwrapper
et la création de différents environnement python pour atténuer les conflits que vous pourriez avoir. Ici est un tutoriel pour l'installation et l'utilisation virtualenv.Pour aider les autres, j'ai besoin de connaître les versions de Python que vous avez installé, comment vous les avez installées et la façon dont vous démarrez votre application. Merci d'éditer votre question à me donner cette info.
Pas de besoin. Le Virtualenv solution a fonctionné pour moi et semble être une meilleure façon de faire avancer les choses de toute façon. Aimerais un coup de pouce si vous pensez que la question pourrait profiter à d'autres. Des acclamations.
OriginalL'auteur Aaron Digulla