-
-
Save iddm/e01ab56d28a2c9467cc6 to your computer and use it in GitHub Desktop.
This snippet tested on Yosemite 10.10.1 | |
1. Define your python3 directory (for example, "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/") | |
2. Download "http://download.qt-project.org/official_releases/qt/5.3/5.3.2/qt-opensource-mac-x64-clang-5.3.2.dmg" or any other new version of qt for mac and install it. | |
3. Download SIP sources here: http://www.riverbankcomputing.com/software/sip/download | |
4. Download PyQt5-gpl sources here: http://www.riverbankcomputing.com/software/pyqt/download5 | |
5. Go to your downloads by terminal (for example, "cd ~/Downloads") | |
6. tar xvf PyQt-gpl-5.3.2.tar.gz | |
7. tar xvf sip-4.16.4.tar.gz | |
8. cd sip-4.16.4/ | |
9. python3 configure.py -d /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3//site-packages --arch x86_64 | |
10. make | |
11. sudo make install | |
12. sudo make clean | |
13. Change line "!host_build:QMAKE_MAC_SDK = macosx10.8" to "!host_build:QMAKE_MAC_SDK = macosx10.10" in ~/Qt5.3.2/5.3/clang_64/mkspecs/qdevice.pri | |
14. cd ../PyQt-gpl-5.3.2/ | |
15. python3 configure.py --destdir /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages --qmake ~/Qt5.3.2/5.3.2/clang_64/bin/qmake | |
16. make | |
17. sudo make install | |
18. sudo make clean |
ahhh crap! I somehow managed to download SIP files (through the different way). But i can't install PyQt5 files..? why, what is my problem?
What error's are you getting, frozenyeti?
thanks very much!
but I can't understand the first step " 1. Define your python3 directory ",
what should I do for the first step?
@wxyBUPT you need just to find out where is site-packages
directory of your python3 installation. If you have few, you must remember it somehow and use in the steps below, for example, create an environment variable $SP_PYTHON_DIR=...(your dir)
. It is only needed for next steps (15 step).
Thanks for the guide.
If installing on 10.10.4 make sure to change macosx10.8
to macosx10.10.11
on step 13
Ok, this worked for my macOS 10.12.2 / Qt 5.80 / PyQt5.7.1 / sip 4.19 / Python3.5 installation up until step 13.
The file ~/Qt5.3.2/5.3/clang_64/mkspecs/qdevice.pri however did not contain any !host reference and simply adding it myself did not help.
Then I found this post on Stack Overflow. It stated I should run:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
which worked like a charm all the way up to step 15.
During step 15 however, I received the error:
This is the GPL version of PyQt 5.7.1 (licensed under the GNU General Public
License) for Python 3.5.3 on darwin. Error: This version of PyQt5 and the commercial version of Qt have incompatible licenses.
I was able to fix that error by commenting out some lines in PyQt5 configure.py as instructed here.
Then, I continued and the command from step 15 executed without a problem.
However, now, when I run make (step 16) I am receiving this error:
~/Downloads/PyQt5_gpl-5.7.1/QtCore/sipQtCoreQt.cpp:1093:62: error: no member named 'WindowCancelButtonHint' in namespace 'Qt'; did you mean
'WindowCloseButtonHint'?
{sipName_WindowCancelButtonHint, static_cast( ::Qt::WindowCancelButtonHint), 419},
~~~~~~^~~~~~~~~~~~~~~~~~~~~~
WindowCloseButtonHint
../../../Qt5.8.0/5.8/clang_64/lib/QtCore.framework/Headers/qnamespace.h:300:9: note: 'WindowCloseButtonHint' declared here
WindowCloseButtonHint = 0x08000000,
^
~/Downloads/PyQt5_gpl-5.7.1/QtCore/sipQtCoreQt.cpp:1106:58: error: no member named 'WindowOkButtonHint' in namespace 'Qt'
{sipName_WindowOkButtonHint, static_cast( ::Qt::WindowOkButtonHint), 419},
~~~~~~^
2 errors generated.
make[1]: *** [sipQtCoreQt.o] Error 1
make: *** [sub-QtCore-make_first-ordered] Error 2
Does anyone have any idea how to fix this?
Edited the sipQtCoreQt.cpp and removed the 2 offending lines.
http://patchwork.ozlabs.org/patch/720187/
This worked fine on ubuntu.
This patch gave me the confidence that I wasn't totally messing up my computer.
thanks very much!
there is one place that may need update. (Due to Qt version number change)
if anybody encounters error:
configure.py: error: '/Users/xxx/Qt5.3.2/5.3.2/clang_64/bin/qmake' is not an executable
S/he should change it to
configure.py: error: '/Users/wangyu/Qt5.3.2/5.3/clang_64/bin/qmake' is not an executable
or any path qmake actually lives.