python3利用venv配置虚拟环境及过程中的小问题小结


Posted in Python onAugust 01, 2018

在利用python进行flask等开发过程中经常需要配置虚拟环境以方便针对不同的项目需求配置不同的生产环境。在python3.3之前,需要利用virtualenv等工具来实现python虚拟开发环境的配置,在python3.3中加入了venv模块支持原生创建虚拟环境。但在python3.3版本中venv模块没有内置pip包,在3.4版本后加入了pip包,创立并激活虚拟环境后可直接使用。本篇以配置一个虚拟

环境并安装flask为例记录我自己配置虚拟环境的过程。

总的来说分为以下三步:

创建虚拟环境?激活虚拟环境?在虚拟环境中安装flask等包

1. 创建虚拟环境:

在当前目录创建虚拟环境(file_name为自定义的虚拟环境的名称):

>python -m venv file_name

注意以管理员身份运行cmd或power shell。虚拟环境存放的目录可以是任意的,不必与之前安装的python解释器安装在同一目录。我的安装过程中安装在S盘的new目录下,虚拟环境的名称自定义为venv_0。

python3利用venv配置虚拟环境及过程中的小问题小结 

创建名为venv_0的虚拟环境

python3利用venv配置虚拟环境及过程中的小问题小结 

创建成功

2. 激活虚拟环境:

运行venv_0目录下scripts\activate

python3利用venv配置虚拟环境及过程中的小问题小结 

当命令提示符前出现(file_name)时,表明已进入虚拟环境

若使用的不是命令提示符而是PowerShell可能会出现系统禁止运行脚本的错误,这是因为由于安全方面的考虑,PowerShell默认的执行策略为禁止运行脚本需要对执行策略进行更改,需要使用到以下命令:

  • get-executionpolicy———————查看系统当前的执行策略
  • set-executionpolicy policy———-更改系统执行策略为policy
  • 执行策略有如下四种:
  • Restricted———-不允许任何脚本运行,此为默认设置。
  • AllSigned—-只有数字签名的脚本才能运行
  • RemoteSigned—-本地编写的脚本可运行,网络脚本需要签名和用户确认。
  • UnRestricted—任何脚本都可运行,网络脚本运行前会警告并请求用户确认
  • ByPass?任何脚本都可随意运行,极少使用,存在安全隐患。

激活过程中将执行策略更改为RemoteSigned即可。

3. 安装包:

可用pip list查看已安装的包,用pip install package_name安装新包

若安装过程出现如下错误:

python3利用venv配置虚拟环境及过程中的小问题小结 

可按照最后一条错误信息里的路径找到init.py找到75行的return s.decode('utf8-8'),在这行代码前删除一个空格再加上一个空格然后保存。好吧我不知道这是什么玄学原理,不过反正这样就行了QAQ。然后再次pip安装

python3利用venv配置虚拟环境及过程中的小问题小结 

恭喜,安装成功!

4. 退出虚拟环境

deactivate

python3利用venv配置虚拟环境及过程中的小问题小结

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python list操作用法总结
Nov 10 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
wxPython之解决闪烁的问题
Jan 15 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
Python基础之函数原理与应用实例详解
Jan 03 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 Python
Python中的With语句的使用及原理
Jul 29 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 #Python
python爬虫自动创建文件夹的功能
Aug 01 #Python
浅谈关于Python3中venv虚拟环境
Aug 01 #Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 #Python
Django教程笔记之中间件middleware详解
Aug 01 #Python
flask框架中勾子函数的使用详解
Aug 01 #Python
flask中过滤器的使用详解
Aug 01 #Python
You might like
用php来检测proxy
2006/10/09 PHP
二招解决php乱码问题
2012/03/25 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
PHP如何将XML转成数组
2016/04/04 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python读取Android permission文件
2013/11/01 Python
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
Python 移动光标位置的方法
2019/01/20 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
python简单实现9宫格图片实例
2020/09/03 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
考试作弊检讨书
2014/10/21 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
2015年护士节慰问信
2015/03/23 职场文书