我刚在我的google计算引擎机器上安装了PyQt 5.7.0,该机器在ubuntu 16.04上运行:
但是,当我想运行PyQt并导入一些模块时,它会产生Segmentation fault(core dumped)错误,如下所示:
我可以知道如何解决它吗?几个小时以来我一直在寻找答案,但仍然无法找到答案。如果有人能提供帮助,我们将不胜感激。
答案 0 :(得分:3)
您可以尝试(如评论中所述)自己编译PyQt5.7
,使用不同版本的Python(3.4.3
和3.4.4
为我工作,{{1}以上的所有内容} 没有)。请注意,我自己也编译了3.5
,但您可以使用安装程序提供的版本。以下是设置虚拟环境的简短,有希望的详尽命令集:
使用apt:
安装依赖项Qt5.7
安装Python 3.4.4:
sudo apt-get install -y build-essential libgl1-mesa-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libfontconfig1-dev libfreetype6-dev libglu1-mesa-dev libssl-dev libcups2-dev python3-pip git
创建虚拟环境:
cd ~/Downloads
wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz
tar xf Python-3.4.4.tar.xz
cd Python-3.4.4
./configure
sudo make altinstall
安装Qt:
sudo pip3 install virtualenv
virtualenv -p /usr/local/bin/python3.4 ~/python34
source ~/python34/bin/activate
安装SIP:
cd ~/Downloads
git clone git://code.qt.io/qt/qt5.git
cd ~/Downloads/qt5
git checkout 5.7
./init-repository
./configure -prefix ~/Qt/5.7/gcc_64 -opensource -nomake examples -nomake tests -release -confirm-license
make -j 5
make install
安装PyQt:
cd ~/Downloads
wget http://downloads.sourceforge.net/project/pyqt/sip/sip-4.18.1/sip-4.18.1.tar.gz
tar xf sip-4.18.1.tar.gz
cd sip-4.18.1
python configure.py
make
sudo make install
答案 1 :(得分:0)
注意事项:
按照Your desktop on Google Cloud Platform中的步骤在GCE虚拟机中安装桌面GUI管理器(它将基于X11,适用于Linux操作系统)以及vnc服务器。
使用realvnc或tightvnc查看器进入vm后,可能会运行GUI应用程序。您可能必须更改X11 DISPLAY变量 - 尽管上面的链接没有讨论这个 - 因为AFAIR * nix系统使用的VNC单独桌面会话比当前登录的那个。
如果没有用户登录GCE虚拟机,我怀疑它会运行。
答案 2 :(得分:0)
如果您使用apt或apt-get安装PyQt5,现在也可以
sudo pip3 install pyqt5
答案 3 :(得分:-1)
您无法远程运行GUI程序(PyQt),除非两台计算机都使用X11协议并正确设置DISPLAY
个变量和xhost
权限。我怀疑Google计算引擎是否可以配置为在X11模式下运行。
答案 4 :(得分:-3)
导入PyQt5时,它还会导入PyQt5.QtCore,因为PyQt5.QtCore是PyQt5的一部分。