Python:importorror:/usr/local/lib/python2.7/lib-dynload//u io.so:undefined symbol:PyUnicodeUCS2\u Replace
我正在尝试构建一个triviol Python脚本,该脚本将从URL获取数据并将其保存到服务器上。请输入以下代码:Python:importorror:/usr/local/lib/python2.7/lib-dynload//u io.so:undefined symbol:PyUnicodeUCS2\u Replace,python,python-2.7,ubuntu-12.04,Python,Python 2.7,Ubuntu 12.04,我正在尝试构建一个triviol Python脚本,该脚本将从URL获取数据并将其保存到服务器上。请输入以下代码: #!/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.u
#!/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()
运行脚本时,我会出现以下错误:
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
回溯(最近一次呼叫最后一次):
文件“geoJsonFetch.py”,第4行,在
导入urllib2
文件“/usr/local/lib/python2.7/urllib2.py”,第94行,在
导入httplib
文件“/usr/local/lib/python2.7/httplib.py”,第79行,在
进口美托尔
文件“/usr/local/lib/python2.7/mimetools.py”,第6行,在
导入临时文件
文件“/usr/local/lib/python2.7/tempfile.py”,第32行,在
将io作为_io导入
文件“/usr/local/lib/python2.7/io.py”,第51行,在
导入
ImportError:/usr/local/lib/python2.7/lib-dynload//u io.so:undefined symbol:PyUnicodeUCS2\u Replace
我环顾四周,发现了类似的错误,如,但它们似乎并没有触及为什么有些人能够运行此代码,而我却不能。他们似乎都在处理与用C语言开发和使用Python访问C模块有关的问题
是Ubuntu版本还是Python版本
谢谢。您已经(至少)安装了两个不同版本的Python,并且正在混合它们的文件。确保$PYTHONPATH
、$PYTHONHOME
和sys.path
仅包含单个Python安装的文件夹。在您的情况下,一个安装在/usr/local
中,另一个可能在/usr
中
此外,您还可以尝试安装
virtualenvwrapper
并设置单独的python环境,以缓解可能出现的任何冲突。是一个关于安装和使用virtualenv的教程。您是否应该使用data=urlib2.urlopen(url.read()
?听起来您有多个Python安装在彼此之间互相践踏。具体是如何做到的?你能再详细一点吗?谢谢。为了进一步提供帮助,我需要知道您安装了哪些版本的Python,如何安装它们,以及如何启动应用程序。请编辑你的问题,给我这个信息。没有必要。Virtualenv解决方案对我很有效,而且似乎是一种更好的方法,可以让事情向前发展。如果你认为这个问题可能对其他人有利,我会竖起大拇指的。干杯