vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 5
声望: 1

ImportError: cannot import name 'Qsci' from 'PyQt5'

网上可能的解决方案如pip、sudo apt install 相关的包后,还是无法解决。

(贴图好像有点Bug,上传不上来

Administrator
avatar
加入于:
帖子: 3902
声望: 208

pip install QScintilla

注意大小写,如果报错的话请贴下报错输出

Member
avatar
加入于:
帖子: 5
声望: 1

都试过了,还是不行。
Traceback (most recent call last):
File "vn_trader_gui.py", line 5, in <module>
from vnpy.trader.ui import MainWindow, create_qapp
File "/home/ubuntu/miniconda3/lib/python3.7/site-packages/vnpy/trader/ui/init.py", line 10, in <module>
from .mainwindow import MainWindow
File "/home/ubuntu/miniconda3/lib/python3.7/site-packages/vnpy/trader/ui/mainwindow.py", line 27, in <module> t__.py)
from .editor import CodeEditor
File "/home/ubuntu/miniconda3/lib/python3.7/site-packages/vnpy/trader/ui/editor.py", line 4, in <module>
from PyQt5 import QtWidgets, Qsci, QtGui

ImportError: cannot import name 'Qsci' from 'PyQt5' (/home/ubuntu/miniconda3/lib/python3.7/site-packages/PyQt5/init.py)

ps 陈大,论坛登录后,web各个按钮的icon都没有有了,而且传不了图。不知道是不是只有我这样?我换了电脑和网络都不行?

Administrator
avatar
加入于:
帖子: 3902
声望: 208

顶部浏览器,地址里前缀改为https://,然后回车刷新下就行。

我们发现新版的Chrome不知道为什么有时会跳到http协议

Administrator
avatar
加入于:
帖子: 3902
声望: 208

pip install QScintilla

装上这个新的库

Member
加入于:
帖子: 29
声望: 0

pip install QScintilla

Member
avatar
加入于:
帖子: 3
声望: 0

您好,解决了吗?
我在Mac上也遇到这个问题。
(使用上面的 pip install QScintilla命令也还是不行。

使用 python run.py 后的具体内容是:
$ python run.py
Traceback (most recent call last):
File "run.py", line 5, in <module>
from vnpy.trader.ui import MainWindow, create_qapp
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/init.py", line 10, in <module>
from .mainwindow import MainWindow
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/mainwindow.py", line 27, in <module>
from .editor import CodeEditor
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/editor.py", line 4, in <module>
from PyQt5 import QtWidgets, Qsci, QtGui
ImportError: cannot import name 'Qsci' from 'PyQt5' (/opt/anaconda3/lib/python3.7/site-packages/PyQt5/init.py)

使用pip install QScintilla显示我原本就已经有PyQt5了。(所以可以排除库的问题
$ pip install QScintilla
Requirement already satisfied: QScintilla in /opt/anaconda3/lib/python3.7/site-packages/QScintilla-2.11.3-py3.7-macosx-10.9-x86_64.egg (2.11.3)
Requirement already satisfied: PyQt5>=5.10.1 in /opt/anaconda3/lib/python3.7/site-packages (from QScintilla) (5.13.2)
Requirement already satisfied: PyQt5_sip<13,>=4.19.19 in /opt/anaconda3/lib/python3.7/site-packages (from PyQt5>=5.10.1->QScintilla) (12.7.0)

Member
avatar
加入于:
帖子: 4
声望: 0

pip install -U pyqt5
成功解决问题

Member
avatar
加入于:
帖子: 2
声望: 0

pip install QScintilla==2.12.3

Member
加入于:
帖子: 14
声望: 2

楼上笔误了, pip install QScintilla==2.11.3 可以

Member
avatar
加入于:
帖子: 1
声望: 0

我也是mac,但是遇到和你这个又不太一样,是这个错误,至今还没解决方案。。。
ImportError: dlopen(//anaconda3/lib/python3.7/site-packages/PyQt5/Qsci.abi3.so, 2): Library not loaded: @rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport
Referenced from: //anaconda3/lib/python3.7/site-packages/PyQt5/Qsci.abi3.so
Reason: image not found

jeffrey,金鹏 wrote:

您好,解决了吗?
我在Mac上也遇到这个问题。
(使用上面的 pip install QScintilla命令也还是不行。

使用 python run.py 后的具体内容是:
$ python run.py
Traceback (most recent call last):
File "run.py", line 5, in <module>
from vnpy.trader.ui import MainWindow, create_qapp
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/init.py", line 10, in <module>
from .mainwindow import MainWindow
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/mainwindow.py", line 27, in <module>
from .editor import CodeEditor
File "/opt/anaconda3/lib/python3.7/site-packages/vnpy/trader/ui/editor.py", line 4, in <module>
from PyQt5 import QtWidgets, Qsci, QtGui
ImportError: cannot import name 'Qsci' from 'PyQt5' (/opt/anaconda3/lib/python3.7/site-packages/PyQt5/init.py)

使用pip install QScintilla显示我原本就已经有PyQt5了。(所以可以排除库的问题
$ pip install QScintilla
Requirement already satisfied: QScintilla in /opt/anaconda3/lib/python3.7/site-packages/QScintilla-2.11.3-py3.7-macosx-10.9-x86_64.egg (2.11.3)
Requirement already satisfied: PyQt5>=5.10.1 in /opt/anaconda3/lib/python3.7/site-packages (from QScintilla) (5.13.2)
Requirement already satisfied: PyQt5_sip<13,>=4.19.19 in /opt/anaconda3/lib/python3.7/site-packages (from PyQt5>=5.10.1->QScintilla) (12.7.0)

Member
avatar
加入于:
帖子: 1
声望: 0
  应该是QScintilla的安装有点问题,我是用Anaconda环境,在site-packages下面看到QScintilla被单独安装到一个QScintilla-2.11.4的包下面,其他正常的QT插件是在PyQt5包下面的bindings下面的。
  直接用了一个粗暴的解决方法,把QScintilla下面的Qsci.pyd复制到PyQt5里面,把QScintilla的bindings下面的Qsci文件夹复制到PyQt5下面的bindings文件夹下面。
Member
avatar
加入于:
帖子: 3
声望: 0

我也是出现了这个问题,想问楼主解决了吗

Member
avatar
加入于:
帖子: 1
声望: 0

出现这个问题是QScintilla安装时Pyqt5还没有安装,所以QScintilla把自己需要安装到Pyqt5的包安装在自己的包的目录下了。所以第一种方式解决问题就是把QScintilla下Pyqt5的目录拷贝到Pyqt5包的目录下。

第二种解决方案是执行下列命令(前提是pyqt5已经安装):
pip uninstall QScintilla
pip install QScintilla -i https://pypi.douban.com/simple (从豆瓣的镜像进行安装这样速度快)
问题解决,程序可以正常运行。

Member
avatar
加入于:
帖子: 3
声望: 0

许红星 wrote:

出现这个问题是QScintilla安装时Pyqt5还没有安装,所以QScintilla把自己需要安装到Pyqt5的包安装在自己的包的目录下了。所以第一种方式解决问题就是把QScintilla下Pyqt5的目录拷贝到Pyqt5包的目录下。

第二种解决方案是执行下列命令(前提是pyqt5已经安装):
pip uninstall QScintilla
pip install QScintilla -i https://pypi.douban.com/simple (从豆瓣的镜像进行安装这样速度快)
问题解决,程序可以正常运行。
这个方法可行,已验证,感谢。pip如果不是国内源,即使有梯子也有可能中断安装,如果手动重装没考虑QScintilla和qt的顺序就有这样的问题

Member
avatar
加入于:
帖子: 1
声望: 0

我也是出现这个问题,但重新安装之后,导入Qsci时回报ImportError: DLL load failed: 找不到指定的程序。请问有人知道是怎么回事嘛

Member
avatar
加入于:
帖子: 207
声望: 13

可以安装vcredist 2015-2019试试看

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3