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

作者:qq_37920968 时间:2023-04-29 06:01:28 

在利用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配置虚拟环境及过程中的小问题小结

来源:https://blog.csdn.net/qq_37920968/article/details/78235133#4-退出虚拟环境

标签:python3,venv,虚拟环境
0
投稿

猜你喜欢

  • Dreamweaver滑动菜单的制作[图]

    2007-11-08 12:43:00
  • asp用正则解析远程图片地址,用XMLHTTP将其保存

    2007-10-26 12:34:00
  • Python中Yield的基本用法

    2021-08-30 15:34:55
  • python使用Image处理图片常用技巧分析

    2023-01-17 14:51:38
  • 解决django 向mysql中写入中文字符出错的问题

    2024-01-23 20:39:00
  • 解决python 出现unknown encoding: idna 的问题

    2023-10-06 21:26:06
  • Python编程学习之如何判断3个数的大小

    2022-03-06 18:10:04
  • 如何在页面中对不同的数据进行相同的处理?

    2010-06-26 12:30:00
  • Mysql误操作后利用binlog2sql快速回滚的方法详解

    2024-01-23 19:00:31
  • 我所钟爱的HTML5资源

    2010-07-23 09:25:00
  • sqlserver 修改列名及表名的sql语句

    2012-07-11 15:58:46
  • JavaScript队列的应用实例详解【经典数据结构】

    2024-04-16 09:53:13
  • Python实现视频分解成图片+图片合成视频

    2022-12-14 05:26:12
  • Vue组件的通信方式详解

    2024-04-26 17:39:23
  • python和php学习哪个更有发展

    2023-05-06 17:40:20
  • 解析MySQL创建外键关联错误 - errno:150

    2024-01-16 03:41:14
  • 在Python中使用__slots__方法的详细教程

    2022-10-30 09:46:10
  • 从p开始,循序渐进学习WEB标准

    2008-03-08 18:53:00
  • Python中删除文件的几种方法实例

    2021-02-02 05:57:13
  • python字符串常用方法

    2023-07-12 19:01:50
  • asp之家 网络编程 m.aspxhome.com