使用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爬虫之神器正则表达式
Nov 06 Python
python创建列表并给列表赋初始值的方法
Jul 28 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 Python
Python统计单词出现的次数
Apr 04 Python
使用python进行文本预处理和提取特征的实例
Jun 05 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
Dec 04 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
给ubuntu18安装python3.7的详细教程
Jun 08 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学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
js下将字符串当函数执行的方法
2011/07/13 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
JavaScript中检查对象property的存在性方法介绍
2014/12/30 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
Python如何调用JS文件中的函数
2019/08/16 Python
python如何控制进程或者线程的个数
2020/10/16 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
婚假请假条格式及范文
2014/04/10 职场文书
团日活动总结范文
2014/04/25 职场文书
大学学习计划书范文
2014/05/02 职场文书
美国留学经济担保书
2014/05/20 职场文书
教代会闭幕词
2015/01/28 职场文书
2015年新农合工作总结
2015/03/30 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
python实现简单石头剪刀布游戏
2021/10/24 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis