Tôi đang cố gắng xây dựng một kịch bản Python triviol sẽ lấy dữ liệu từ URL và lưu nó vào máy chủ. Concider vào mã bên dưới:Python: ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so: undefined 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()
Sau khi chạy kịch bản tôi nhận được các lỗi sau đây:
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
Tôi đã nhìn quanh trên SO và thấy lỗi tương tự như this one, nhưng họ dường như không có được trái tim của lý do tại sao một số người có thể nhận được mã này để chạy và tôi không. Tất cả họ dường như đang giải quyết các vấn đề liên quan đến việc phát triển trong C và sử dụng Python để truy cập vào mô-đun C đó.
Đây có phải là phiên bản Ubuntu, phiên bản Python không ??
Cảm ơn bạn.
bạn không nên sử dụng 'data = urllib2.urlopen (url) .read()'? –
Có vẻ như bạn có nhiều bản cài đặt Python đang dẫm lên nhau. –