使用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 pandas常用函数详解
Feb 07 Python
python版本的仿windows计划任务工具
Apr 30 Python
python matlibplot绘制3D图形
Jul 02 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python文件读写代码实例
Oct 21 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
python爬虫如何解决图片验证码
Feb 14 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
PHP与SQL注入攻击防范小技巧
2011/09/16 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
javascript奇异的arguments分析
2010/10/20 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
Python socket编程实例详解
2015/05/27 Python
python select.select模块通信全过程解析
2017/09/20 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
python turtle 绘制太极图的实例
2019/12/18 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
物流司机岗位职责
2013/12/28 职场文书
经典禁毒标语
2014/06/16 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis