微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu中python的版本有冲突

所以我有我的服务器上的Python 2.7.2,我需要更新到Python 2.7.3。 所以我试图删除2.7.2版本,然后使用源安装新的。 我无法删除2.7.2版本,因为系统使用它来运行服务器上的关键服务,所以我安装了2.7.3版本,希望在那之后,我将能够删除旧版本。 仍然我不能删除旧版本,虽然我能够执行python 2.7.3当我安装任何模块,我不能导入它。 我添加了sys.path的path,我开始find模块,但导入它导致另一个错误

我的python执行/ usr / local / bin / python这是问题的2.7.3版本。 如果我尝试像这样执行python / usr / bin / python它执行旧版本,一切工作正常,我可以导入新安装的模块。

那么我能做些什么来使python 2.7.3工作?

我已经search了很多教程,并尝试了像在python中的.pth文件添加库,我开始find模块,但是当导入它时,我得到像这样的错误

如何在Windows应用程序中使用Python获得右键单击上下文菜单

尽pipe重新绑定Python.File,但Windows仍然打开.py文件与C: Python27 Python.exe

Tensorflow r1.0:找不到满足要求tensorflow的版本

在python中保护孩子与父母的沟通

如何让Python使用Assembly

>>> import numpy Traceback (most recent call last): File "<stdin>",line 1,in <module> File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py",line 137,in <module> import add_newdocs File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py",line 9,in <module> from numpy.lib import add_newdoc File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py",line 4,in <module> from type_check import * File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py",line 8,in <module> import numpy.core.numeric as _nx File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py",line 5,in <module> import multiarray ImportError: /usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapestring

谢谢您的帮助

编辑问题求解

所以为了解决缺less的导入模块,我在/usr/local/lib/python2.7/site-packages/目录下创build了一个.pth文件,其中python模块所在的目录以及python开始find它们。 要解决compability的问题,你可以从源代码安装python并指定unicode在做./configure –enable-unicode

更多信息在这里

jenkins需要很长时间才能执行

Corba事件客户端ETIMEDOUT

OpenCV和python / virtualenv?

如何用setuptools打包Python守护进程

Python多处理使用共享variables的Pool.apply_async(值)

看起来您安装的模块是针对旧版本的Python构建的,或者至少与您的较新安装版本不兼容。 您在底部看到的导入错误是numpy模块搜索不在您的2.7.3版本中的符号。 这里有更多的信息。

如果可能的话,使用包管理器升级Python通常会更容易。 这样,如果系统上的任何东西都依赖于Python,但不需要精确到2.7.2 ,那么可以轻松升级Python而不会干扰任何事情。 我猜你的服务器没有可用的新版本的Python,并且你不能添加新的版本库,或者你没有访问包管理器的权限。 如果使用软件包是可能的,我会继续前进,并从源代码删除(如果Python使用GNU Make,该命令应该是'make clean')。

如果这不是一个选项,那么应该有一种方法来编译Python,但不能将其安装到系统目录中。 然后,您可以为用户添加一个符号链接,并确保符号链接在其路径中具有优先权。

不要经常与系统python混乱,永远。

你应该做的是安装带有–prefix的Python 2.7.3到你的主目录,然后使用virtualenv -p /home/myuser/path/to/python 。

在任何情况下,使用virtualenv来运行你自己的应用程序几乎总是一个好主意,因为它避免了用你自己的应用程序中使用的库来污染系统包目录。

当安装python使用以下步骤

使用前缀来指定安装目录

./configure --prefix=/usr/bin/python make make install

然后每次你运行一个新的终端你已经指定

export PATH="$PATH:/usr/bin/"

告诉Python的安装目录在哪里

这样你可以使用任何数量的蟒蛇

你可以从R安装Python库。它适用于我。

例如,要从R类型安装numpy库

system('python -m pip install -U numpy')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐