Python编程环境(4)——Eric安装、操作

目录

Eric6下载安装

Prerequisites

安装错误提示

1、Eric安装过程中,提示:未发现QScintilla、pyqtchart、pyqtwebengine模块问题。

2、eric6安装版本兼容问题

3、运行eric6.bat文件,黑窗一闪而过,弹出窗口:python已停止工作。

Eric使用操作

4、运行eric6错误提示:无法定位程序输入点OPENSSL_sk_new_reserve于动态链接库:D:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt\bin\libssl-1_1.dll上。


 


 

Python编程环境(0)——(Anaconda+Qt+PyQt+Eric6及Eclipse+PyDev) 返回目录 https://blog.csdn.net/sjpljr/article/details/79302914#1%E3%80%81%E5%AE%89%E8%A3%85Anaconda
 


 

Eric6下载安装

环境要求:The Eric Python IDE - Download  http://eric-ide.python-projects.org/eric-download.html

Prerequisites

To be able to run eric6 you should have the following installed:

下载:The Eric Python IDE - Download  http://eric-ide.python-projects.org/eric-download.html

Eric Integrated Development Environment - Browse Files at SourceForge.net  https://sourceforge.net/projects/eric-ide/files/

安装:CMD命令窗口,eric6安装包所在路径为当前路径,python install.py install。

不可用pip install install.py,否则提示:Could not find a version that satisfies the requirement install.py。

安装Eric时提示:Sorry, please install QScintilla2 and its PyQt5/PyQt4 wrapper.Error: cannot import name 'Qsci'。解决:安装Qscintilla。


 

 

 

安装错误提示

1、Eric安装过程中,提示:未发现QScintilla、pyqtchart、pyqtwebengine模块问题。

PyqtWebEngine couldn't be detected……

需要重新安装:

pip install QScintilla -i https://pypi.douban.com/simple
pip install pyqtchart  -i https://pypi.douban.com/simple
pip install pyqtwebengine  -i https://pypi.douban.com/simple

检查安装情况:pip list

2、eric6安装版本兼容问题

安装环境:当前win7 64-bit系统,安装eric6过程中Qt安装时的环境。Anaconda3-5.3.0-Windows-x86,Qt 5.9.7,PyQt在线安装,eric6-18.11。特别注意:eric6安装或启时时出现错误,对应Qt 5.9.7安装时设置选项中同时安装了MSVC、MinGW两种编译器。

下载eric6-17.12版本或者eric6-18.11版本,解压后进入安装包目录,CMD命令窗口,包所在路径为当前路径,执行python install.py install,错误提示:An internal error occured.

Checking dependencies
Python Version: 3.7.0
Found PyQt5
Found pyuic5

Found QScintilla2
Found QtGui
Found QtNetwork
Found QtPrintSupport
Found QtSql
Found QtSvg
Found QtWidgets
An internal error occured.  Please report all the output of the program,
including the following traceback, to eric-bugs@eric-ide.python-projects.org.
Traceback (most recent call last):
  File "install.py", line 2020, in <module>
    main(sys.argv)
  File "install.py", line 1922, in main
    doDependancyChecks()
  File "install.py", line 1517, in doDependancyChecks
    __import__(altModule)
ValueError: PyCapsule_GetPointer called with incorrect name

更换为eric6-17.04.1版本,居然显示安装eric6成功。但运行eric6.bat文件,黑窗一闪而过(无其它提示),无法启动Eric6。

可能解决方法(已经验证):重新Qt安装设置中只选一种编译器(如选择MSVC编译器),再安装eric6-18.11成功并正常启动。

但是使用也不稳定。

问题可能:Anaconda 3.5捆绑Python Python Version: 3.7.0版本过高所致。

可能Qt5.9.7、PyQt5、PyQt5-tools、Eric6-18.11与捆绑的Python 3.7.0兼容性差?

措施:降低已安装Anaconda中高版本Python 3.7到低版本3.5,最好Python 3.6。

在Anaconda中随意更改python版本和其他相关包版本的使用经验! -  https://blog.csdn.net/Kyle_2017/article/details/78257051?locationNum=2&fps=1

再次安装eric6-18.11,The Python package 'pywin32' is not installed. Desktop and Start Menu entries will not be created.

Checking dependencies
Python Version: 3.5.6
Found PyQt5
Found pyuic5
Found QScintilla2
Found QtGui
Found QtNetwork
Found QtPrintSupport
Found QtSql
Found QtSvg
Found QtWidgets
Qt Version: 5.11.2
sip Version: 4.19.13
PyQt Version: 5.11.3
QScintilla Version: 2.10.8
All dependencies ok.
Creating configuration file ...
Compiling user interface files ...
Compiling source files ...
Installing eric6 ...
Installing Python API files to 'D:\ProgramData\Anaconda3\envs\ds\Lib\site-packag
es\PyQt5\Qt\qsci\api\python'.
Installing Ruby API files to 'D:\ProgramData\Anaconda3\envs\ds\Lib\site-packages
\PyQt5\Qt\qsci\api\ruby'.
Installing QSS API files to 'D:\ProgramData\Anaconda3\envs\ds\Lib\site-packages\
PyQt5\Qt\qsci\api\qss'.
The Python package 'pywin32' is not installed. Desktop and Start Menu entries will not be created.
Installation complete.

小结,暂时解决办法: 

1、有时,即使通过conda install python=3.6命令更换了Anaconda中python版本,但在安装eric6-11.08时仍有可能出现QScintilla未安装、DLL库不能引入、No module named 'PyQt5'等问题。

2、这时可能有效的方法:需要创建一个Anaconda 新的带Python 3.6的环境,即可解决安装eric6的问题。

创建新的Anaconda环境,Python编程环境(1)——Anaconda3安装及问题 -   https://blog.csdn.net/sjpljr/article/details/79246668中创建ds环境示例部分。

3、注意:需要将新的环境的路径添加到环境变量后,才可正常运行Eric6。

4、如果新创建的Anaconda 环境中成功安装了Eric6,但运行Eric6时,仍出现找不到pandas包等问题,需要将D:\ProgramData\Anaconda3\Lib\site-packages路径下全部文件复制到D:\ProgramData\Anaconda3\envs\ds\Lib\site-packages。或者将包安直接装到新Anaconda环境中。

3、运行eric6.bat文件,黑窗一闪而过,弹出窗口:python已停止工作。

查看详细信息:pythonw.exe
eric6.bat文件内容:
@echo off
start "" "d:\ProgramData\Anaconda3\pythonw.exe" "d:\ProgramData\Anaconda3\Lib\site-packages\eric6\eric6.pyw" %1 %2 %3 %4 %5 %6 %7 %8 %9

bat文件中语句解释:

%1 表示 一个批处理或批处理中子程序的第一个参数 %2 %3 是第二、第三个参数。

@echo off不是DOS程序中的,而是DOS批处理中的。 
DOS在运行批处理时,会依次执行批处理中的每条命令,“echo off”实现批处理中的命令不在显示器上显示。 
但“echo off”命令本身会显示在显示器上。 如果连这条命令也不显示,就在前面加个“@”,即@echo off。 

可以在最后单独一行,加:pause命令,实现暂停,以便于观察。

打开文件或文件夹可以用start命令,start命令会根据文件关联的程序自动调用关联的程序打开文件和文件夹。

START 打开文件(批处理会继续执行)
CALL 打开文件(批处理将等待文件执行完毕后再执行自身命令)

可能办法: 

打开防火墙:控制面板--Windows防火墙--允许程序或者功能通过防火墙--允许运行另一程序:把相应的Python.exe,pythonw.exe还有sqlservr.exe添加到防火墙允许程序列表

有时“允许程序通过Windows防火墙操作”列表有python.exe,但无法添加pythonw.exe,需要在列表中先删除,再添加相应的程序。

Eric使用操作

Eric操作环境的基本功能初步设置:

Eric菜单栏——Settings——Preferences——Editor:
1、APIs:Language:Python3;Project Type:PyQt5 GUI;Compile APIs:点击确定。
2、Autocompletion:from Document and API files

Project建立:Eric菜单栏——Project——New(新增项目或其它)——New Forms:
Eric界面,点击Forms图标(工具栏Eric绿色小莽蛇图标),在下边空白处右键——New Forms:
自动调出QT Designer工具,开始图形界面设计,在QT Designer设计完成后保存。返回Eric界面,在Forms标签下已经生成扩展名为.ui的文件。

在Forms标签下,右键点击相应.ui文件——Compile form;在相邻Sources标签(python黄色小莽蛇图标)由.ui文件编译成同文件名加前缀Ui_、后缀.py的Ui_*.py文件。

 

关于信号与槽函数:
在Forms标签下,右键点击相应.ui文件——Generate Dialog Code:弹出Forms code generator,找到需要建立信号的控件,展开事件,勾选相应事件,然后Classname选择New,自动生成Class名称,点击OK。
这时在Sources图标的文件列表中同名.py文件中已经生成了相应的信号与槽函数。

注:QT Designer中,运用F3\F4切换Widgets、Signals/Slots功能,可以在Form选中Widgets拖拽到另一Widgets上快速建立信号与槽连接。另外,信号与槽(Signal/Slot Edit)属性窗口,通过操作能实现简单的信号与槽功能。

Qt之信号signals和槽slots详解 - CSDN博客  https://blog.csdn.net/bruce_0712/article/details/53694374

或者通过Eric中菜单——Form——View code查看此Form代码。但Eric提示:
unable to lanch D:\ProgramData\Anaconda3\Lib\site-packages\pyqt5-tools\bin\uic
解决办法:发现D:\ProgramData\Anaconda3\Lib\site-packages\pyqt5-tools\没有bin文件夹,在D:\ProgramData\Anaconda3\Library\bin里面有uic文件,而且有designer等程序,将此路径下的bin文件夹整体复制到D:\ProgramData\Anaconda3\Lib\site-packages\pyqt5-tools文件夹下,正常了。

 

问题D:运行eric6.bat(eric6中F2运行python源文件)时,提示:无法定位序数4540于动态链接库LIBEAY32.dll上。
解决:(已经验证有效方法)
搜索计算机所有盘符libeay32.dll,发现在不同目录有多个同名不同大小的文件。
将D:\ProgramData\Anaconda3\Library\bin目录下copy到windows文件夹下子目录system32下,运行eric6.bat正常了。
可使用命令:
copy libeay32.dll %windir%\system32\
regsvr32 %windir%\system32\libeay32.dll /s
同理:eclipse程序出现此问题可能原因是这样的,“无法定位序数于动态链接库libeay32.dll”是这个dll有很多应用程序都会自带,但是版本各不相同。可以在系统中搜索出所有的该名字的文件,然后看eclipse查找的是哪个路径下的,全部替换为较新版本的。出问题的机器上应该都有好几个这个dll文件
无法定位序数4540于动态链接库LIBEAY32.dll上(以及其它无法定位序数的解决方案) http://blog.csdn.net/u014597198/article/details/78748574

1、程序依赖于libeay32.dll动态链接库时:

创建脚本:
@echo 开始注册
copy libeay32.dll %windir%\system32\
regsvr32 %windir%\system32\libeay32.dll /s
@echo libeay32.dll注册成功
@pause
a、程序不依赖于libeay32.dll动态链接库时:(无法定位序数一般情况下是不依赖)
找到系统目录下的该库文件将其改个名,例如win32下:
在系统盘的windows的system32下把libeay32.dll改成libeay32_old.dll,就OK了。
b、如果程序依赖于该动态库,而且该库已经损坏,则需要重新下载
(以此类推,其它一般的动态库采取同样方法有效)
问题原因:dll容易丢失,可以网上下载LIBEAY32.D11然后放到下面介绍的文件夹里 这个是
因为某些程序用隐含的方式调用了libeay32.dll,就是说该程序没有指定调用哪个地方的libeay32.dll,那么windows默认会到windows目录和windows\\system32目录查找libeay32.dll,如果找到就调用。但现在很多程序偷懒,安装的时候都把自己要用的libeay32.dll放到system32目录中,然后就不管了。如果这个libeay32.dll版本新还无所谓,但如果比较旧就会让其它需要这个文件的程序出错,就如楼主这样。 所以要解决这个问题,就去找一个比较新的libeay32.dll(很多程序的目录中都有,自己在硬盘上面搜索一下),然后放到system32里面,应该都能解决问题。 我在我的电脑上搜索了libeay32.dll文件,然后把它复制到c:\\windows\\system32下, 64位系统请放到C:\Windows\SysWOW64。

问题E:eric6中执行语句:from PyQt5 import QtCore  ,提示:No module named 'PyQt5'
错误原因:eric6的debugger之pythonw.exe路径设置错误。
自己以为安装了pythonw的3.6新版本,将eric6的默认编译器改为:D:\ProgramData\Anaconda3\pkgs\python-3.6.3-h9e2ca53_1\pythonw.exe。所以出现了No module named 'PyQt5'错误提示。
打开eric6.bat运行程序——菜单之settings(设置)下拉栏——preferences(属性)——debugger(编译器)——python3:
python3 interpreter for debug client:更改原来自动设置的路径为D:\ProgramData\Anaconda3\pythonw.exe。错误提示消失。
问题F:eric6系统中函数名称区分大小写
eric6系统中函数名称区分大小写,如果QMessageBox写成qmessagebox,eric中的python语句系统是不认识的。
 

问题G:Eric6打开文件按钮弹出对话框:QWindowsNativeFieDialogBase::OnSelectionChange

对话框中选择要打开的一个文件,确定后。在错误提示对话框中点击确定按钮,错误提示内容变为如下:
Debug Message:
QWindowsNativeFileDialogBase::onSelectionChange (QUrl("file:///D:/lxsjp")) 1
File: None
Line: 0
Function: None
换电脑还是出现这种问题。
在电脑中查找:qwindowsdialoghelpers.cpp
C:\Qt\Qt5.7.0\5.7\Src\qtbase\src\plugins\platforms\windows\qwindowsdialoghelpers.cpp
void QWindowsNativeFileDialogBase::onSelectionChange()
{
    const QList<QUrl> current = selectedFiles();
    m_data.setSelectedFiles(current);
    if (current.size() == 1)
        emit currentChanged(current.front());
}
https://bugreports.qt.io/browse/QTBUG-65532
QWindowsNativeFileDialogBase::onSelectionChange() logs with qDebug()

     

4、运行eric6错误提示:无法定位程序输入点OPENSSL_sk_new_reserve于动态链接库:D:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt\bin\libssl-1_1.dll上。

eric:pythonwexe-无法找到入口

D:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt\bin\libssl-1_1.dll

解决:

D:\ProgramData\Anaconda3\目录下搜索libssl-1_1.dll文件;

D:\ProgramData\Anaconda3\DLLs目录libssl-1_1.dll、D:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt\bin目录的libssl-1_1.dll,这两个文件不一致。用DLLS目录libssl-1_1.dll文件覆盖bin目录下的同名文件。

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值