使用virtualenv创建Python环境及PyQT5环境配置的方法


Posted in Python onSeptember 10, 2019

一、写在前面

从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 requests 到 lxml,从 Django 到 Flask,各种各样的库都处在一个 Python 环境之中。

这种做法对于我这种懒人来说是再适合不过的了,但是这样也是会有问题的。第一个问题在于 Pycharm 的加载速度变得慢了,因为要导入太多包了,而其中很多包对于很多程序来说根本用不上。第二个问题在于很多模块之间是有版本要求的,都需要特定的版本才能执行。可能有人会说去安装那个特定的版本不就好了?然而要是每次都需要这么做呢?岂不是得花费太多时间了嘛,所以是时候学习下使用 virtualenv 来为我们的应用创建一套“隔离的” Python 运行环境了!

二、使用virtualenv

1.下载

既然要使用 virtualenv,那第一步肯定得安装了,使用 pip 进行安装即可。

pip install virtualenv

2.创建环境

你需要找一个文件夹用来储存创建的环境(例如:my_env),然后使用 virtualenv 命令创建环境,该命令有一个 --no-site-packages 参数,使用了这个参数之后就不会将系统环境中已经有的包复制过来了,当然会有几个基础的包的比如pip。除此之外,如果你的系统中已经装了多个版本的 Python,还可以通过传入路径来指定 Python版本。最后,你需要传入一个名称给创建的 Python 环境命名,这里我使用的是 for_pyqt,很明显就是为 PyQT5 所创建的环境了。

最终命令为:

virtualenv --no-site-packages for_pyqt

下图是运行时的截图:

使用virtualenv创建Python环境及PyQT5环境配置的方法

3.安装第三方包

现在环境已经创建好了,可以看下都有什么文件:

使用virtualenv创建Python环境及PyQT5环境配置的方法

要安装第三方包,还需要从系统的 Python 环境切换到我们创建的 Python 环境之中。具体步骤为进入 Scripts 文件夹,执行 activate 命令,如下所示:

使用virtualenv创建Python环境及PyQT5环境配置的方法

可以看到开头已经变成了 for_pyqt,也就表明已经切换到创建的 Python 环境中了,然后就可以愉快地使用 pip 安装第三方包了!

4.使用创建的 Python 环境

这里只讲怎么使用 Pycharm 导入我们创建的 Python 环境。

在 Pycharm 中打开设置,然后添加 python 解释器,创建一个空的文件夹(例如:venv),再将创建的 Python 环境的路径加进来,最后点击“OK”就大功告成了。

使用virtualenv创建Python环境及PyQT5环境配置的方法

三、PyQT5环境配置

1.为什么是PyQT5?

如果要你用 Python 写 GUI,你会用什么呢?是用 Python 自带的 tkinter?还是 WxPython?又或者是 PyQT5?

在这里我首先要淘汰掉的就是 tkinter,原因有二,一是使用麻烦,接口难用,二是做出来的界面颜值是真的低!那 WxPython 和 PyQT5 对比呢?

首先这两者都是基于 C++ 开发的,且都跨平台,开发的界面也都还算美观,不过 PyQT5 更加灵活,各组件灵活搭配能实现很多功能,WxPython 在这方面表现就不太好了。因此最终我选择了 PyQT5,虽然它安装起来真的很麻烦!

2.PyQT5安装

要使用 PyQT5,除了需要安装 PyQT5 这个包之外,还需要安装一个用来支持 PyQT5 的包:pyqt5-tools。所以安装命令为:

pip install PyQT5
pip install pyqt5-tools

这两个包安装的时候可能会花费很长时间,所以就需要你有一点耐心了==

3.PyQT5配置

这里还是以 Pycharm 为例来说下 PyQT5 的环境配置。选择"File" => "Settings" => "Tools" => "External Tools",然后点击“+”,进行如下配置:

使用virtualenv创建Python环境及PyQT5环境配置的方法

使用virtualenv创建Python环境及PyQT5环境配置的方法

主要就是把 designer.exe 和 pyuic5.exe 的路径加进去,这里给出我的路径以供参考:

E:\Pycharm\my_env\for_pyqt\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe

E:\Pycharm\my_env\for_pyqt\Scripts\pyuic5.exe

完成上述操作之后,应该就能看到添加的工具了,如下图:

使用virtualenv创建Python环境及PyQT5环境配置的方法

4.环境验证

首先点击 QtDesigner 创建一个应用,然后保存下来,再在 Pycharm 中右键点击该文件后选择 “PyUIC”,如果出现如下情况,那么恭喜你,你的环境就装好了!

使用virtualenv创建Python环境及PyQT5环境配置的方法

至于为什么会出现上面的报错信息,我觉得是因为没有指明文件路径。解决办法就是在命令行中使用如下命令(以test.ui为例):

pyuic5 -o ui.py test.ui

该命令不报错的话就会生成一个 ui.py 了,然后你就可以愉快地使用 PyQT5 开发属于你的应用了!

总结

以上所述是小编给大家介绍的使用virtualenv创建Python环境及PyQT5环境配置的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python封装对象实现时间效果
Apr 23 Python
Python 代码性能优化技巧分享
Aug 07 Python
python实现将html表格转换成CSV文件的方法
Jun 28 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Python 多核并行计算的示例代码
Nov 07 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
python3实现点餐系统
Jan 24 Python
对python 通过ssh访问数据库的实例详解
Feb 19 Python
set在python里的含义和用法
Jun 24 Python
python 元组的使用方法
Jun 09 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 #Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 #Python
Python字符串中添加、插入特定字符的方法
Sep 10 #Python
详解python uiautomator2 watcher的使用方法
Sep 09 #Python
一行Python代码制作动态二维码的实现
Sep 09 #Python
python制作英语翻译小工具代码实例
Sep 09 #Python
Python pandas.DataFrame 找出有空值的行
Sep 09 #Python
You might like
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP基础学习小结
2011/04/17 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
python实现红包裂变算法
2016/02/16 Python
Python正则表达式使用经典实例
2016/06/21 Python
深入理解Python3中的http.client模块
2017/03/29 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
python2.7安装图文教程
2018/03/13 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
公司财务工作总结的自我评价
2013/11/23 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
影子教师研修方案
2014/06/14 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js