Mac OS X 10.11.1下搭建Python3.4 + PyQt5.5.1 +Eric6.1.1开发平台
由于Python易学、开源、面向对象、可移植性高、库丰富的特点,近期开始学习Python。百度了解了各款Python IDE后,还是认为Eric比较适合我,所以踏上了安装Eric坎坷之路,从选定工具到安装成功一共花费了8天时间,从Windows到Linux再到Mac,挨个折腾了一遍,Windows的搭建比较简单,下载好相应版本直接运行exe就行了,Linux和Mac下我都是用源码包安装的,所以遇到了不少问题最后,终于在Mac上研究明白了。把搭建的整个过程写下来,和与我一样的小白分享。
PS:Mac与Linux的搭建没什么区别,Linux下的也可参考本文,由于我安装过xcode所以gcc我没有再单独去安装,没有的请根据提示自行安装。
一、准备文件
- Python3.4
- Qt5.5.1
- SIP4.17
- QScintilla2.9.1
- PyQt5.5.1
二、安装过程
1.安装Python3.4
从官网(https://www.python.org/download)下载相应平台的版本安装即可
注意!!
- 如果您是iOS开发者,请不要删除python2.7,因为Xcode使用的2.7的脚本,不支持3以上版本!!!
2.安装Qt5.5.1
从官网(http://qt-project.org/downloads)下载相应平台的版本安装即可,路径设成默认(/Users/*/Qt5.5.1)即可
安装完成需要将Qt5添加到环境变量~/.bash_profile
vim ~/.bash_profile
将下面两行添加进去
PATH="/Users/*/Qt5.5.1/5.5/clang_64/bin:${PATH}"
export PATH
3.安装SIP4.14
下载地址:http://www.riverbankcomputing.com/software/sip/download
tar -zxvf sip-4.17.tar.gz
cd sip-4.17
python3 configure.py
make && date # 加&&date是个人习惯,make成功会显示时间
sudo make install && date # 一定要加sudo
4.安装QScintilla/Qt4Qt5
下载地址:http://www.riverbankcomputing.com/software/qscintilla/download
QScintilla2 文件中有3个文件夹的内容要分别安装:Qt4Qt5,designer-Qt4Qt5和Python。
Qt4Qt5文件夹要在PyQt之前安装,designer-Qt4Qt5和Python要在PyQt之后安装,顺序一定要注意!!
cd ./QScintilla-gpl-2.9./Qt4Qt5
qmake qscintilla.pro
make && date
sudo make install && date
5.安装PyQt5.5.1
下载地址:https://www.riverbankcomputing.com/software/pyqt/download5
由于是安装在Python的site-packages里,所以要首先确定包的位置
python3
Python3.4.4(v3.4.4:737efcadf5a6,Dec192015,::)
[GCC 4.2.(AppleInc. build )(dot )] on darwin
Type"help","copyright","credits" or "license"for more information.
>>> import site
>>> site.getsitepackages()
['/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages','/Library/Frameworks/Python.framework/Versions/3.4/lib/site-python','/Library/Python/3.4/site-packages']
知道了位置开始编译
cd PyQt-gpl-5.5.
$python3 configure.py -q /Users/**/Qt5.5.1/5.5/clang_64/bin/qmake -d /Library/Python/3.4/site-packages/ #-q 后面的是qmake的位置,-d 后面是Python包的位置
make && date
注意!!
我在执行make的时候出了一个这样的错误
/Users/Kallan/Documents/Python开发/PyQt-gpl-5.5./sip/QtPositioning/qgeolocation.sip::: fatal error:
'qgeolocation.h' file not found
#include <qgeolocation.h>
^
error generated.
make[]:***[sipQtPositioningcmodule.o]Error1
make:***[sub-QtPositioning-make_first-ordered]Error2
解决方法:
在/PyQt-gpl-5.5.1/QtPositioning文件夹下创建一个头文件qgeolocation.h,把下面的内容复制进去
/****************************************************************************
**
**Copyright(C)2015TheQtCompanyLtd.
**Contact: http://www.qt.io/licensing/
**
**This file is part of the QtPositioning module of the QtToolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
**CommercialLicenseUsage
**Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
**Softwareor, alternatively,in accordance with the terms contained in
** a written agreement between you andTheQtCompany.For licensing terms
**and conditions see http://www.qt.io/terms-conditions.For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU LesserGeneralPublicLicenseUsage
**Alternatively, this file may be used under the terms of the GNU Lesser
**GeneralPublicLicense version 2.1or version 3as published by the Free
**SoftwareFoundationand appearing in the file LICENSE.LGPLv21and
** LICENSE.LGPLv3 included in the packaging of this file.Please review the
** following information to ensure the GNU LesserGeneralPublicLicense
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
**As a special exception,TheQtCompany gives you certain additional
** rights.These rights are described inTheQtCompany LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QGEOLOCATION_H
#define QGEOLOCATION_H
#include <QtCore/QSharedDataPointer>
#include <QtCore/QMetaType>
#include <QtPositioning/qpositioningglobal.h>
QT_BEGIN_NAMESPACE
classQGeoAddress;
classQGeoCoordinate;
classQGeoRectangle;
classQGeoLocationPrivate;
class Q_POSITIONING_EXPORT QGeoLocation
{
public:
QGeoLocation();
QGeoLocation(const QGeoLocation&other);
~QGeoLocation();
QGeoLocation&operator=(const QGeoLocation&other);
bool operator==(const QGeoLocation&other) const;
bool operator!=(const QGeoLocation&other) const {
return!(other ==*this);
}
QGeoAddress address() const;
void setAddress(const QGeoAddress&address);
QGeoCoordinate coordinate() const;
void setCoordinate(const QGeoCoordinate&position);
QGeoRectangle boundingBox() const;
void setBoundingBox(const QGeoRectangle&box);
bool isEmpty() const;
private:
QSharedDataPointer<QGeoLocationPrivate> d;
};
Q_DECLARE_TYPEINFO(QGeoLocation, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QGeoLocation)
#endif
继续!
make && date
sudo make install && date
6.安装QScintilla/Python
cd /QScintilla-gpl-2.9./Python
python3 configure.py --pyqt=PyQt5-d /Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5--pyqt-sipdir=/Library/Frameworks/Python.framework/Versions/3.4/share/sip/PyQt5-v /Library/Frameworks/Python.framework/Versions/3.4/share/sip/PyQt5
make && date
sudo make install && date
如果在Python里import不会报错,即代表安装成功,可继续往下进行
python3
Python3.4.4(v3.4.4:737efcadf5a6,Dec192015,::)
[GCC 4.2.(AppleInc. build )(dot )] on darwin
Type"help","copyright","credits" or "license"for more information.
>>> import PyQt5.Qsci
>>> exit()
7.安装QScintilla/designer-Qt4Qt5
cd /QScintilla-gpl-2.9./designer-Qt4Qt5
qmake designer.pro
make && date
sudo make install && date
8.安装Eric6
下载地址:http://sourceforge.net/projects/eric-ide/files/eric6/stable/
下载其中的eric6-6.1.1.tar主文件和eric6-i18n-zh_CN.GB2312-6.1.1.tar中文语言包。
将两个文件提取出来,将中文语音包的eric复制到主文件内合并
cd eric6-6.1.
sudo python3 install.py
配置Eric6
1、选择Eric6-> preference -> Editor -> Autocompation。勾选所有选框;
2.Editor -> QScintilla 。勾上左右的两个选框,然后在下面source中,选择from Document and API files;
3.Editor -> APIs。勾选Complie APIs Autocompation,在Language中,选择python3。点面下面的Add from installed APIs按钮,选择住需要的.api文件。最后点击Compile APIs;
4、Interface -> Interface。Language选择中文,重启生效。
大功告成!
三、曾经遇到的问题
1.安装QScintilla designer-Qt4Qt5时报错!
root@kallan:/media/kallan/D盘/编程学习/python/QScintilla-gpl-2.9./designer-Qt4Qt5# qmake -qt5 designer.pro Project ERROR: Unknown module(s) in QT: designer
原因: Qt没有安装好
2.安装QScintilla Python时报错!
python3 configure.py --pyqt=PyQt5-d /Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5--pyqt-sipdir=/Library/Frameworks/Python.framework/Versions/3.4/share/sip/PyQt5--qsci-sipdir=/Library/Frameworks/Python.framework/Versions/3.4/share/sip/PyQt5
Error:Make sure you have a working sip on your PATH or use the --sip argument
to explicitly specify a working sip.
原因:没有安装SIP
3.安装QScintilla Python时报错!
python3 configure.py --pyqt=PyQt5
ConfiguringQScintilla2.9.1...
QScintilla2.9.1 is being used.
TheQScintilla.sip files will be installed in/usr/share/sip/PyQt5.
TheQScintilla module will be installed in
/usr/lib/python3/dist-packages/PyQt5.
PyQt5.3.1 is being used.
Qt5.3.1 is being used.
sip 4.16. is being used.
The sip executable is /usr/bin/sip.
TheQScintilla module is being built with 'protected' redefined as 'public'.
TheQScintilla API file will be installed in/usr/share/qt5/qsci/api/python.
Generating the C++ source for the Qsci module...
Error:Unable to create the C++ code.
原因:安装顺序错误——先安装的PyQt5,而后安装的QScintilla Qt4Qt5
4.QScintilla的Python安装完成但是在Python中import时报错!
>>> import PyQt5.Qsci
Traceback(most recent call last):
File"<stdin>", line ,in<module>
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5/Qsci.so,):Library not loaded:@rpath/QtPrintSupport.framework/Versions//QtPrintSupport
Referenced from:/Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5/Qsci.so
Reason: image not found
5.安装Eric报错!
python3 install.py
Checking dependencies
PythonVersion:3.4.
FoundPyQt5
Sorry, please install QScintilla2 and
its PyQt5/PyQt4 wrapper.
Error: dlopen(/Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5/Qsci.so,):Library not loaded:@rpath/QtPrintSupport.framework/Versions//QtPrintSupport
Referenced from:/Library/Frameworks/Python.framework/Versions/3.4/lib/python3./site-packages/PyQt5/Qsci.so
Reason: image not found
4和5问题的原因是一样的,QScintilla的Python没有安装成功
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Mac OS X 10.11.1下搭建Python3.4 + PyQt5.5.1 +Eric6.1.1开发平台的更多相关文章
- Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台
引言 找了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + P ...
- Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11
____________________________________________________________________________________________________ ...
- Windows下虚拟机安装Mac OS X ----- VM12安装Mac OS X 10.11
Windows下虚拟机安装Mac OS X -– VM12安装Mac OS X 10.11 随着Iphone在国内大行其道,越来越多的开发者涌入iOS开发大军 中,但都苦于没有苹果机,本文即将介绍WI ...
- Caffe on Mac OS X 10.11
在Mac环境安装Caffe环境(CPU_ONLY) http://blog.csdn.net/xidiancoder/article/details/52081519 有问题 http://blo ...
- VMware 10安装Mac OS X 10.11和XCode7
上周把我的计算机当试验品,安装mac虚拟机.由于文件下载复制解压的时间花了很长,历时两天,记录下来(和我一样的新手不妨参考一下): 我机硬件:win7 64位 8G内存 没有8G以上就不要考虑了.我安 ...
- VMware 12安装Mac OS X 10.11
去年写了一篇安装Mac OS X 10.10的文章,看到大家都想体验OS X,大多数都能成功,但也在其中发现了一些问题,所以更新一下,希望对大家有所帮助. 1048VMware 11安装Mac O ...
- VMware 12安装Mac OS X 10.11&解决上网的问题
近日想在Win10上安装Mac OS 玩玩,于是上网搜了相关资源,查看了相关经验分享,开始着手安装.系统很快成功安装,但最大问题是虚拟机中的Mac OS无法上网.费了很长时间,最终看到Ping通结果, ...
- VMware Workstation 12 安装mac os x 10.11
本人近期在学习iOS开发,由于初学,购买设备有点太昂贵了点.和我有意向想法的朋友能够看看在这篇文章.在虚拟机里装MAC os系统. 第一步:准备 VMware Workstation 12版本号 ma ...
- Windows下虚拟机安装Mac OS X —– VMware Workstation12安装Mac OS X 10.11
1下载 镜像:Instal OS X Yosemite 10.10.3(14D131).cdr 密码:qhhm 2 unlocker208文件(链接:https://pan.baidu ...
随机推荐
- IDEA 运行报错 failed to create a child event loop
背景 在IDEA中写了测试代码,但是运行的时候一直提示 java.lang.IllegalStateException: failed to create a child event loop ... ...
- 【转】bash: ssh: command not found解决方法(linux)
原文转自:http://www.cnblogs.com/ahauzyy/archive/2013/04/25/3043699.html 今天在搭建hadoop的开发环境中,用的是centsos6.0的 ...
- 三、Django安装和流程
一.MVC模式 MVC(Model-View-Controller),中文名“模型-视图-控制器”,是一个好的Web应用开发所遵循的模式,它有利于把Web应用的代码分解为易于管理的功能模块. M:Mo ...
- 在docker中执行linux shell命令
在docker中执行shell命令,需要在命令前增加sh -c,例如: docker run ubuntu sh -c 'cat /data/a.txt > b.txt' 否则,指令无法被正常解 ...
- javaweb(三十八)——事务
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
- python基础数据类型补充
python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...
- sql server 查询所有被锁表并批量解除
废话不多说,直接上代码: --查询被锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) table ...
- hbase和ZooKeeper集群安装配置
一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...
- leetcode个人题解——#34 Find First and Last Position of Element in Sorted Array
思路:先二分查找到一个和target相同的元素,然后再左边二分查找左边界,右边二分查找有边界. class Solution { public: , end = -; int ends; int lS ...
- 用vsstudio 设计Winform 高分屏上布局错乱的问题
在使用win10高分辨率150%,200%系统进行winform开发时, 会有布局错乱的现象,比如之前定义的300px的宽度,往往被设置成600px (200%分辨率下). 这个问题vs2015的解决 ...