在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3。

首先安装为python3安装模块下载工具pip3,然后安装spyder的依赖包PyQt5和sphinx。刚开始的时候直接安装了PyQt4,然后会报错,无法找到QT binding。

1,安装pip3

参考:https://ft.wupo.info/pip3-python3-install-module/

sudo apt-get install python3-setuptools
sudo easy_install3 pip

安装完成pip3之后,就开始安装spyder。

2,安装spyder

参考:http://stackoverflow.com/questions/28518830/install-spyder-for-python3-4-ubuntu

但是这个链接里面的安装是python-qt4和安装后关联的是python2,所以需要我们需要的版本是pyqt5,所以安装python3-pyqt5,但该命令行只安装了pyqt5的主要模块,但在运行spyder的时候需要其他模块,所以将其他模块也进行安装

sudo apt-get install python3-pyqt*

sudo apt-get install python3-pyqt5 python-sphinx
sudo apt-get install python3-pyqt*

sudo pip3 install spyder

3,一些问题

(1)在安装spyder过程中出现以下问题:

error: command 'i686-linux-gnu-gcc' failed with exit status 

参考http://blog.csdn.net/niyingxunzong/article/details/13094875

在终端输入:

sudo apt-get install python-dev

问题就解决了。

(2)输入spyder打开软件的时候,出现

pkg_resources.ContextualVersionConflict: (six 1.5. (/usr/lib/python3/dist-packages), Requirement.parse('six>=1.9.0'), {'prompt-toolkit'})

问题在于系统的six模块是1.5.2版本的,而运行spyder需要1.9.0版本,对six进行升级即可。

sudo pip3 install -U six

(3)关于PyQt版本的问题

在安装的过程中,刚开始安装的是pyqt4的版本,此时在启动spyder出现错误,无法找到pyside,然后在处理该错误时又出现了无法找到QT链接的问题,这个问题的关键在于pyqt的版本问题,在python3.4的模块的安装目录下,即/usr/local/lib/python3.4/dist-packages/qtpy中可以找到出错的文件__init__.py,在该文件中可以看到说明

**QtPy** is a shim over the various Python Qt bindings. It is used to write
Qt binding indenpendent libraries or applications. The shim will automatically select the first available API (PyQt5, PyQt4 and
finally PySide). You can force the use of one specific bindings (e.g. if your application is
using one specific bindings and you need to use library that use QtPy) by
setting up the ``QT_API`` environment variable. PyQt5
===== For PyQt5, you don't have to set anything as it will be used automatically:: >>> from qtpy import QtGui, QtWidgets, QtCore
>>> print(QtWidgets.QWidget) PyQt4
===== Set the ``QT_API`` environment variable to 'pyqt' before importing any python
package:: >>> import os
>>> os.environ['QT_API'] = 'pyqt'
>>> from qtpy import QtGui, QtWidgets, QtCore
>>> print(QtWidgets.QWidget) PySide
====== Set the QT_API environment variable to 'pyside' before importing other
packages:: >>> import os
>>> os.environ['QT_API'] = 'pyside'
>>> from qtpy import QtGui, QtWidgets, QtCore
>>> print(QtWidgets.QWidget) """

QtPy主要是选择一个合适的QT binding,包括PyQt5,PyQt4和PySide,默认的是PyQt5,但是安装的版本是PyQt4,所以启动spyder会出错,上面的提示可以设置QT_API这个环境变量来选择版本,但是试验过之后仍然无法启动spyder,最后安装了PyQt5才解决该问题。

(4)python模块安装路径问题

目前有两个

usr/local/lib/python3.4/dist-packages/和usr/lib/python3/dist-packages/,这两个对应的都是python3模块的安装路径,模块安装方法有:

a,sudo apt-get install + 模块名

b,sudo pip3 install + 模块名

ubuntu14.04环境下spyder的安装的更多相关文章

  1. disconf系列【1】——百度disconf在ubuntu14.04环境下的安装

    disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提).同时,官网对很多重要的细节语焉不详, ...

  2. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  3. Ubuntu14.04环境下配置TFTP服务器

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  4. Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程

    1.前言 由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputc ...

  5. Suricata在ubuntu14.04环境下安装

    简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...

  6. Ubuntu14.04环境下java web运行环境搭建

    1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...

  7. Ubuntu14.04环境下Samba报错排错过程

    排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...

  8. Ubuntu18.04环境下melodic安装gmapping

    Ubuntu18.04 环境下melodic中很多包没有提供sudo apt install的安装方式,需要通过源代码安装,安装方法如下: 1.先安装依赖库: sudo apt--dev sudo a ...

  9. Ubuntu14.04用apt在线/离线安装CDH5.1.2[Apache Hadoop 2.3.0]

    目录 [TOC] 1.CDH介绍 1.1.什么是CDH和CM? CDH一个对Apache Hadoop的集成环境的封装,可以使用Cloudera Manager进行自动化安装. Cloudera-Ma ...

随机推荐

  1. Linux Posix线程条件变量

    生产者消费者模型 .多个线程操作全局变量n,需要做成临界区(要加锁--线程锁或者信号量) .调用函数pthread_cond_wait(&g_cond,&g_mutex)让这个线程锁在 ...

  2. 《虚拟伙伴》AR增强现实应用开发总结

    一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...

  3. 百度广告 高亮 Chrome插件(附源码)

    一前言 百度最近是上了舆论头条了,相信中过百度毒的人对百度都反感.百度自己挖了这么多坑,终究还是要自己来填.国内网民使且最频繁的搜过 还是以百度为主,而百度依靠这种市场占有率靠他的广告竞价排名大发横财 ...

  4. FtpUtil

    /* * 文件名:FtpUtil.java * 版权:Copyright 2000-2007 Huawei Tech. Co. Ltd. All Rights Reserved. * 描述: TopE ...

  5. 如何将本地项目与coding.net/github上的项目绑定

      得到coding.net/github项目的ssh协议地址 形如:·git@git.coding.net:wzw/leave-a-message.git· 在本地生成公钥 输入 ssh-keyge ...

  6. 如何解决ajax重复提交的问题

    如下一段代码: 先忽略我没引jquery.js的问题,这是一个案例. 当我们点击提交时,控制台输出两次e,在network里查看,可以看到我们的ajax传输了两次,造成了数据重复提交. 一种解释为bu ...

  7. 【转】Windows平台下的Subversion安装配置新手指南

    原文地址:http://developer.51cto.com/art/201005/199628.htm 本文介绍Subversion安装配置快速指南,首先讲Subversion的安装和配置,Uni ...

  8. ajax同步处理(使得JS按顺序执行)

    在项目中碰到一个问题: 图一: 图二: 函数1代码:这里是因为有ajax请求,默认的是异步的 //点击分页页码,请求后台返回对应页码的数据 function getdata(fewPage,flag, ...

  9. vector迭代器用法

    #include<iostream> #include<vector> using namespace std; int main() { vector<int> ...

  10. PRINCE2特征(三)

    提到不确定性,可能很多从事项目管理相关工作的人都会感同身受,一系列临时性问题,比如:变更.延期.调整.计划赶不上变化.团队调整等的出现,都是项目中再正常不过的内容.但正常不等于合理,我们还是要去思考一 ...