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 相关文章推荐
Fiddler如何抓取手机APP数据包
Jan 22 Python
Python实现KNN邻近算法
Jan 28 Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
python对html过滤处理的方法
Oct 21 Python
python直接获取API传递回来的参数方法
Dec 17 Python
python实现图片彩色转化为素描
Jan 15 Python
详解python的argpare和click模块小结
Mar 31 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 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做推送服务端实现ios消息推送
2013/07/01 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
window.onerror()的用法与实例分析
2016/01/27 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
Python模块文件结构代码详解
2018/02/03 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python实现简单坦克大战
2020/03/27 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
简单的Python人脸识别系统
2020/07/14 Python
Python如何合并多个字典或映射
2020/07/24 Python
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
客户表扬信范文
2014/01/10 职场文书
毕业证丢失证明
2014/01/15 职场文书
追悼会答谢词
2015/01/05 职场文书
土建施工员岗位职责
2015/04/11 职场文书