Python: ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyUnicodeUCS2_Replace
Ich versuche zu bauen, ein triviol Python-Skript, das abrufen von Daten aus der URL und speichern Sie Sie auf den server. Concider den folgenden code:
#!/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()
Auf dem das Skript läuft, bekomme ich folgenden Fehler:
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
Ich geschaut haben, um SO die gefundenen Fehler wie diese eine, aber Sie scheinen nicht zu erhalten am Herzen von, warum einige Leute in der Lage sind, um diesen code zu erhalten, um zu laufen und ich bin es nicht. Sie scheinen alle zu sein, die sich mit Fragen bezüglich der Entwicklung in C und Python benutzen, um Zugriff auf das C-Modul.
Ist es der Ubuntu-version, die Python-version??
Danke.
- sollten Sie nicht mit
data = urllib2.urlopen(url).read()
? - Es klingt wie Sie haben mehrere Installationen von Python, die stampfenden auf jede andere.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie (mindestens) zwei unterschiedliche Versionen von Python installiert, und Sie mischen Ihre Dateien. Stellen Sie sicher, dass
$PYTHONPATH
,$PYTHONHOME
undsys.path
nur Ordner enthalten, die für ein einzelnes Python-installation. In Ihrem Fall, eine installation ist in/usr/local
und der andere ist wohl in/usr
.Können, können Sie auch versuchen, die Installation
virtualenvwrapper
und einrichten separate python-Umgebung zu lindern, Konflikte, die Sie vielleicht haben werden. Hier ist ein tutorial für die Installation und Verwendung von virtualenv.