问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ubuntu16.04怎么搭建python开发环境

发布网友 发布时间:2022-04-22 08:21

我来回答

1个回答

热心网友 时间:2022-04-07 13:30

简述
原来在windows下实现的python code,因为业务需要,要将其放到Ubuntu(其实是Linux)下来进行开发和demo。因此安装了目前最新的Ubuntu16.04 64bit系统,并搭建带有GUI的python开发环境。

环境与工具选择
最终确认选择“Ubuntu16.04(64 bit)+ Python3.5 + Qt5.7.0 + SIP4.18.1 + PyQt5.7 + QScintilla2.9.2 + Eric6.0 ”
首先Ubuntu16.04是默认安装了python2.7和python3.5的,因此python这部分就可以不需要安装了。因为涉及GUI的开发,所以要准备pyqt的环境等东西。查看系统python版本:
python
python3
python3.5

另外,需要安装一个python模块:
sudo apt-get install python3-dev
否则后面的SIP安装会有找不到python.h的错误提示。

QT安装
软件安装
可以从官网下载,也可以从http://download.qt.io/archive/qt/下载,我下载了5.7.0的Linux 64bit版本,是一个.run文件。

使用上面的两行命令,进行安装,此时会弹出安装对话框:

然后按照提示一步步选择即可:

安装完成后,可以直接打开QT Creator:

软件配置
我的Qt5.7.0安装在/home/ethan下,这是在前面的安装步骤时选择的。而在/home/ethan/Qt5.7.0/5.7/gcc_64/bin/下有qmake。
安装完成后用下面的命令配置一下PATH,在当前用户主目录下的.bashrc (or .zshrc)文件中加入:
export QTDIR=/home/ethan/Qt5.7.0/5.7/gcc_64/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib
export PATH=${QTDIR}/bin:${PATH}
此时再在命令行中输入qmake,看到如下:

说明配置成功了。
另外需要将/usr/lib/x86_64-linux-gnu/qt4/bin/qmake软连接到/home/ethan/Qt5.7.0/5.7/gcc_64/bin/qmake上,否则后面在编译安装PyQt时可能会出问题:
sudo ln -s /home/ethan/Qt5.7.0/5.7/gcc_64/bin/qmake /usr/lib/x86_64-linux-gnu/qt4/bin/qmake
这里最好把OpenGL的库也安装上,不然后面的GUI相关工具的安装会有问题:
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y

SIP安装
因为系统接口都是C, C++的而python要调用这些C/C++接口,就需要这个SIP,安装PyQt之前必须先安装对应版本的SIP。PyQt编译时使用的SIP版本必须与python默认调用的SIP保持一致!否则python中是无法调用PyQt的。QT安装的是当前最新的QT5.7.0,这里SIP最新版本也到了4.18.1,从SIP下载https://riverbankcomputing.com/software/sip/download下载SIP安装文件,sip-4.18.1.tar.gz。在下载SIP之前,需要确认下自己的系统没有默认安装过其他版本,否则容易造成混乱。用
sip -V
可以看到系统的sip版本。不过我的系统并没有SIP的。
下载的sip-4.18.1.tar.gz是一个源码包,需要在本地编译后安装:
tar -zxvf sip-4.18.1.tar.gz
cd sip-4.18.1
python3 configure.py
sudo make
sudo make install
然后需要核对下当前的SIP版本以及python3中使用的SIP的版本,看两者是否一致。核对当前SIP版本:
sip -V
会看到是4.18.1
然后命令行中输入python3,打开python3.5环境,输入:
>>> import sip
>>> print(sip.SIP_VERSION_STR)
也看到显示是4.18.1的,这样就说明SIP版本一致了,安装OK。

QScintilla安装
QScintilla2是连接编译器和Python的接口,是Eric的必需前置组件。QScintilla2 中需要单独安装3个模块,本体,Designer和python bindings。这一步先只安装本体部分,后面两个需要等安装了PyQt5才能安装,这个顺序不能搞错,不然会在安装QScintilla的python bindings时会无法生成C++ code,导致安装的失败。首先需要从QScintilla下载https://www.riverbankcomputing.com/software/qscintilla/download下载源码包。下载完成后,对QScintilla_gpl-2.9.3.tar.gz进行解压:
tar -xzvf QScintilla_gpl-2.9.3.tar.gz
cd QScintilla-gpl-2.9.3
安装本体:
cd Qt4Qt5
qmake qscintilla.pro
sudo make
sudo make install
如果在上面的sudo make时,出现“/usr/bin/ld: cannot find -lGL”问题,可以用如下命令做个软连接:
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/libGL.so
之后再去sudo make。

PyQT5安装
PyQt是Python的一个跨平台图形开发工具集,是Python与Qt的成功融合。PyQt包含了大约440个类、超过6000个的函数和方法。
首先从PyQt5下载https://www.riverbankcomputing.com/software/pyqt/download5下载目前最新版本,PyQt5_gpl-5.7.tar.gz。使用如下命令编译安装:
tar -zxvf PyQt-gpl-5.7.tar.gz
cd PyQt-gpl-5.7
python3 configure.py
sudo make
sudo make install
然后使用python3命令进入python环境,输入:
>>>import PyQt5
此时没有任何提示,说明安装没有问题,PyQt5 mole import OK。

QScintilla安装后续部分
前面已经安装了本体Qt4Qt5部分了,这里在安装完PyQt5后,再继续安装后面的两个部分。

安装Designer
cd QScintilla-gpl-2.9.3/designer-Qt4Qt5
qmake designer.pro
sudo make
sudo make install
如果在sudo make时,遇到“fatal error: GL/gl.h: No such file or directory”的问题,这是由于系统中没有安装OpenGL库所导致。使用如下命令进行安装OpenGL库即可:
sudo apt-get install mesa-common-dev
sudo apt-get install libglu1-mesa-dev -y
安装后再进行sudo make,就OK了。

安装Python bindings
cd QScintilla-gpl-2.9.3/Python
python3 configure.py --pyqt=PyQt5
sudo make
sudo make install
这里Python bindings安装时需要指定 –pyqt=PyQt5参数,否则默认是为PyQt4安装。或者直接修改其configure.py,将pyqt5_is_default = False改为pyqt5_is_default = True也可。

Eric6安装
Eric是一款强大的开源Python IDE,支持Qt界面设计器的Eric在Python GUI开发中更是首屈一指,Python+PyQt+Eric已经成为一种标准的Python GUI开发平台。首先从Eric6下载https://sourceforge.net/projects/eric-ide/files/下载安装包代码–eric6-6.1.7.tar.gz。然后用如下命令解压安装:
tar -zxvf eric6-6.1.7.tar.gz
cd eric6-6.1.7
sudo python3 install.py
此过程会检测之前安装的各个软件及其版本信息,并且很快会安装完成:

因为是通过sudo python3 install.py来安装,在打开eric6时也要在前面加上sudo:
sudo eric6
接下来打开eric6界面进行配置,主要是配置eric编辑器功能:
刚打开界面,就提示需要进行配置:

选择Settings -> preference -> Editor -> Autocompation。勾选所有选框,打开代码自动完成功能:

选择Settings -> preference -> Editor -> QScintilla 。勾上左右的两个选框,然后在下面source中,选择from Document and API files:

选择Settings -> preference -> Editor -> APIs。勾选Complie APIs Autocompation,在Language中,选择python3。点面下面的Add from installed APIs按钮,选择住需要的.api文件。最后点击Compile APIs:

选择Settings -> preference -> Interface -> Interface。右侧Language根据喜好选择中文或者English,我这里并没有安装中文语言包,所以使用默认的English。
接下来选择自己的工程文档将要放置的位置:

最后要重启eric才生效。
接下来用一个小的demo简单验证下python开发环境是否搭建OK。
创建一个demo1.py的python源代码,demo code:
#!/usr/bin/env python
from PyQt5.QtWidgets import (QApplication, QLabel)
import sys
if __name__ == "__main__":
app = QApplication(sys.argv)
label = QLabel("<center>Hello World with PyQt5!</center>")
label.resize(200, 50)
label.show()
sys.exit(app.exec_())
然后在放置demo1.py路径下,使用如下命令运行该demo:
python3 demo1.py
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
关于第一次经典语录 ...三个月后打开包装发现里面零件全部损坏,请问能去超市退换 微单相机哪个品牌好 一首歌在酷狗上查找猪猪非主流歌曲club 沙拉拉就有求歌名 一首英文DJ,歌词是"刷啦啦哩,刷啦啦啦哩"还有歌词听起来好像是:"I wa... sha la la la sha la la lei 是什么歌 男孩起名字大全免费2025年 姓李的男孩起名字大全 ...九月十二(阴历)下午16点 出生 姓李 希望大师给起个好点的名字... 电脑开机提示先激活windows电脑上出现要激活WINDOWS是什么意思_百度知 ... 中国建设银行从邮政储蓄银行提钱会产生多少费用 买新房子只有合同书但没有房产证,有什么风险吗? 买没房产证的房子怎么办 房子没有房产证怎么证明房子是自己的? python环境搭建什么意思 买房子没有房产证 eclipse python 已经安装好了 怎么搭建python开发环境 无房产证的房子,能买吗? 买房子没有房产证可靠吗? Python语言环境怎么搭建 新房没有房产证如何过户 新房没房产证怎么过户 自己的台式机上安装apache以及mysql以进行开发或者... linux5.1 安装mysql 找不到3306端口 linux下mysql-5.1.35-linux-i686-glibc23.tar安装... mysql在线安装和离线安装的区别 Linux安装mysql5.5.47的时候报错怎么破 大牛,在linux下安装mysql这样的复杂软件,网上的... 在LINUX下安装mysql遇到的问题 LINUX安装MYSQL的问题! linux下安装了mysql,输入mysql命令无效是怎么回事? 旧房子建了新房子,新房子没房产证怎么办? mac 下怎么安装python 搭建开发环境 新买的房子没有房产证会有什么危害呀 我买的房子没房产证,以后该怎么办? 如何为python搭建环境 房子没有房产证是怎么回事? python 开发环境搭建 eclipse 选哪个 我想买房子但是没有房产证 买了房子,没有房产证怎么办? 买了房子却没有房产证 新房没有房产证 新房没有房产证可以卖吗 新买的房子没有房产证可以吗 关于买房子没有房产证的问题。 图灵机的状态转移规则要素 如何去除掉玻璃上的广告贴胶纸? 窗户玻璃上贴的胶纸怎么去除 玻璃上面贴的胶纸老化了该怎么去除 guogaη拼音词语是什么? “脯”什么时候念“pǔ ”