Próbuję utworzyć skrypt Python triviol, który pobierze dane z adresu URL i zapisze go na serwer. Concider kodu poniżej:Python: ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so: niezdefiniowany symbol: PyUnicodeUCS2_Replace
#!/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()
Po uruchomieniu skryptu uzyskać następujące błędy:
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
Mam rozejrzał się na SO i znalezione podobne błędy jak this one, ale nie wydaje się, aby w serce dlaczego niektórzy ludzie są w stanie uruchomić ten kod, a ja nie. Wygląda na to, że mają do czynienia z problemami dotyczącymi programowania w C i używania Pythona do dostępu do tego modułu C.
Czy to wersja Ubuntu, wersja Python ??
Dziękuję.
nie powinieneś używać 'data = urllib2.urlopen (url) .read()'? –
Wygląda na to, że masz wiele instalacji Pythona, które depczą sobie nawzajem. –