所以我的服务器上有Python2.7.2,我需要将它更新到Python2.7.3。所以我尝试删除2.7.2版本,然后使用源代码安装新版本。我无法删除2.7.2版本,因为系统使用它来运行服务器上的关键服务,所以我安装了2.7.3版本,希望在此之后我可以删除旧版本。我仍然不能删除旧版本,尽管我可以在安装任何无法导入的模块时执行python2.7.3。我将路径添加到系统路径我开始查找模块,但是导入它会导致另一个错误。在
我的python执行/usr/local/bin/python,这是问题所在的2.7.3版本。
如果我尝试像这样执行python/usr/bin/python,它会执行旧版本,并且在那里一切正常,我可以导入新安装的模块。在
那么,如何让python2.7.3正常工作呢?在
我搜索了很多教程,并尝试了在python上的.pth文件中添加库之类的方法,我开始查找模块,但在导入模块时,会出现如下错误:>>> import numpy
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in
import add_newdocs
File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in
from type_check import *
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in
import numpy.core.numeric as _nx
File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in
import multiarray
ImportError: /usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString
谢谢你的帮助
编辑问题已解决
为了解决丢失的导入模块,我在/usr/local/lib/python2.7/site-packages/下创建了一个.pth文件,其中包含python模块所在的目录,python开始查找它们。
要解决兼容性问题,可以从源代码安装python并指定unicode执行./configure--enable unicode
更多信息here