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实现ftp客户端示例分享
Feb 17 Python
零基础写python爬虫之神器正则表达式
Nov 06 Python
Python素数检测的方法
May 11 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
Django ValuesQuerySet转json方式
Mar 16 Python
keras绘制acc和loss曲线图实例
Jun 15 Python
python matplotlib库的基本使用
Sep 23 Python
python基于opencv 实现图像时钟
Jan 04 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制作简单的内容采集器的代码
2007/11/28 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
煤矿安全协议书
2014/08/20 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
金正昆讲礼仪观后感
2015/06/11 职场文书
新闻通讯稿模板
2015/07/22 职场文书
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL