A. python安裝PyQt5時遇到這個問題該怎麼解決
linux系統下Qt5編譯好的程序在未安裝Qt的系統下運行會報以下錯誤:
This application failed to start because it could not find or load the Qt platform plugin "xcb".
Reinstalling the application may fix this problem.
出現這個錯誤,主要是因為qt5為了在多平台下更方便移植,使用了一種新的技術-----platform abstraction system (QPA),而它中的庫又依賴於Qt5中的一個庫文件libQt5DBus.so.5,所以,只要打包時只要加上這個文件就可以了。
linux下qt5程序打包步驟如下
1、把以下7個庫文件放到/usr/lib目錄下
libQt5Widgets.so.5
libQt5Gui.so.5
libQt5Core.so.5
libicui18n.so.51
libicuuc.so.51
libicudata.so.51
libQt5DBus.so.5
2、拷貝Qt5安裝目錄中的platforms目錄,使它和你的Qt程序同級目錄
現在你可以雙擊你的程序運行了呵呵
B. python如何進行桌面開發有哪些資料可供參考
這里介紹3個python桌面開發的包,分別是tkinter,wxpython和pyqt,這3個包都可以快速的開發出桌面應用,下面我簡單介紹一下這3個包的安裝和使用,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
1.tkinter:這個是python自帶的開發桌面GUI的標准庫,不需要安裝,跨平台、可移植性高,支持主流的操作系統,像Windows,Linux,Mac等,python自帶的IDLE就是採用這個包開發,簡單易學,容易上手,適合小型項目的開發,入門GUI開發的話,可以試一下這個包,官網資料https://docs.python.org/2/library/tkinter.html:
程序運行如下:
2.wxpython:這是python一個優秀、成熟的跨平台GUI包,但不是自帶的標准庫,需要單獨安裝,支持的組件眾多,可以幫助程序員快速的創建功能齊全、界面友好的GUI界面,應用廣泛,非常適合中小型項目的開發,官網資料https://docs.wxpython.org/,可以參考學習一下,下面我簡單介紹一下安裝和使用:
安裝,這里直接在cmd窗口輸入命令「pip install wxpython」就行,如下:
安裝成功後,就可以進行簡單的測試了,代碼如下,一個簡單編輯器:
程序運行截圖如下:
3.pyqt:這個是Qt提供給python的一個介麵包,Qt功能強大,組件眾多,可以快速構建用戶GUI界面,所以pyqt的功能也十分強大,藉助於Qt,我們可以構建桌面應用,下面我簡單介紹一下pyqt的安裝和使用,官網資料http://pyqt.sourceforge.net/Docs/PyQt5/:
安裝pyqt5,這個直接在cmd窗口輸入「pip install pyqt5」就行,如下:
測試代碼如下,一個簡單的計算器:
程序運行截圖如下:
當然,你也可以藉助designer.exe直接拖拽控制項,完成GUI界面開發,如下,最後打包成py文件就行:
目前,就介紹這3個包吧,網上也有許多這方面的教程,感興趣的話,可以搜搜,希望以上分享的內容能對你有所幫助吧。
C. ImportError: DLL load failed:找不到指定的模塊怎麼解決
ImportError:DLL
load
failed:找不到指定的模塊的解決方法是把numpy、scipy、matplotlib、scikit-learn用pip
uninstall掉,再去下載最新的whl包重新安裝。
具體方案是:
第一步:
在命令中輸入以下指令卸載相應的包:pip
uninstall
numpy;pip
uninstall
scipy;pip
uninstall
matplotlib;pip
scikit-learn
第二步:
在下面的網站中找到對應的包,如果是python2.7就是cp27系列的,電腦是多少位的一定下載對應版本
http://www.lfd.uci.e/~gohlke/pythonlibs/#scipy
http://www.lfd.uci.e/~gohlke/pythonlibs/#numpy
http://www.lfd.uci.e/~gohlke/pythonlibs/#matplotlib
http://www.lfd.uci.e/~gohlke/pythonlibs/#scikit-learn
第三步:
找到安裝python的目錄下的scipyts文件,在這個文件里安裝相應的whl包
比如指令為
cd
C:/xxx/xxx/scipyts,然後在這里用指令
pip
install
D:/xxx/xxx/xxx.whl
假如有successful的顯示就是完成了。
D. ubuntu16.04怎麼搭建python開發環境
簡述
原來在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. 在linux的python中『import matplotlib.pyplot as plt 』出現『段錯誤 (核心已轉儲)』的錯誤
提示信息已經說得很明白了,需要 dateutil 這個另外的第三方包。 在DOS窗口下用下面的命令裝 pip install python-dateutil
F. 怎麼在虛擬機上的linux系統安裝ipython
一、通過系統的軟體包管理器安裝ipython軟體包。
1、ubuntu直接用以下命令:
#apt-get install ipython
//ubuntu將ipython的庫文件安裝到/usr/share/python-support/ipython目錄下,包括一系列.pth文件和符號鏈接,而ipython的二進制文件則安裝在/usr/bin/ipyton目錄下。
2、redhat(centos)使用下面的命令:
#yum list | grep ipython
//查看所使用的yum源是否有ipython包,沒有的話,就只能換源或者源碼安裝了。
#yum install ipython.noarch
//安裝ipython
二、下載tar包安裝方法:
1、 解壓:
[root@CentOS_1 ~]# tar xf Python-2.7.8
2、進入解壓後的文件夾Python-2.7.8,編譯:
[root@centos_1 Python-2.7.8]# ./configure --prefix=/usr/local/python2.7
3、make安裝
[root@centos_1 Python-2.7.8]# make && make
安裝Ipython
1、下載Ipython
下載Ipython的源碼包ipython-3.0.0.tar.gz。
2、解壓安裝包
[root@centos_1 tmp]# tar zxvf ipython-3.0.0
3、安裝readline-devel包
在編譯安裝Ipython之前,確保已經安裝了readline-devel包,否則安裝完成後,IPython將無法正常輸入;
[root@centos_1 ~]# yum install readline-devel
3、使用Python2.7.8編譯安裝。
[root@centos_1 ipython-3.0.0]# /usr/local/python2.7/bin/python setup.py build
[root@centos_1 ipython-3.0.0]# /usr/local/python2.7/bin/python setup.py install
4、安裝完成之後,會在Python2.7.8的bin目錄下面生成一個IPython的可執行文件,為了方便使用,將IPython連接到/usr/bin目錄下面。
[root@centos_1 bin]# ln -sf ipython /usr/bin/ipython