使用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实现list反转实例汇总
Nov 11 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
python将字符串以utf-8格式保存在txt文件中的方法
Oct 30 Python
Python实现的微信支付方式总结【三种方式】
Apr 13 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
python绘制直方图和密度图的实例
Jul 08 Python
python批量生成条形码的示例
Oct 10 Python
python图片合成的示例
Nov 09 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 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
Thinkphp使用mongodb数据库实现多条件查询方法
2014/06/26 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
限制复选框的最大可选数
2006/07/01 Javascript
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python快排算法详解
2019/03/04 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
python super函数使用方法详解
2020/02/14 Python
Python 实现简单的客户端认证
2020/07/29 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
电气工程师岗位职责
2014/01/01 职场文书
群众路线剖析材料
2014/02/02 职场文书
函授药学自我鉴定
2014/02/07 职场文书
募捐倡议书
2014/04/14 职场文书
七一讲话心得体会
2014/09/05 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android