python3,关于虚拟环境的创建

虚拟环境的创建,目的是与系统的python环境隔离,创建一个与项目相关的干净环境,每个虚拟环境有独立的python解释器(该解释器同创建虚拟环境的python版本有关系),和有自己独立的一套安装包(库);

注意 :python v3.3、v3.4中推荐使用的pyvenv模块在python3.6中被弃用了,v3.5后推荐使用原生的venv模块创建虚拟环境

创建虚拟环境

python3 -m venv /path/to/new/virtual/environment
  执行该命令,会创建一个虚拟环境的目录:/path/to/new/virtual/environment,目录文件夹结构【图中的/path/to/new/virtual/environment 定义为venv】如下:

目录结构

pyvenv.cfg 文件
  主要是告知运用哪个python命令安装,且创建子目录bin(window上是Script)、lib/pythonX.Y/site-packages (window上Lib\site-packages),和设置是否拷贝系统环境site-packages 中的安装包,默认False,其中bin目录下放可执行文件,如激活、退出激活虚拟环境等;lib/pythonX.Y/site-packages存放安装包,初始情况下默认为空
  需要注意:python v3.4+会默认安装pip包管理工具,可使用--without-pip选项禁止安装pip

激活&退出虚拟环境

  激活环境,主要是切换成当前虚拟环境中的python解释器,非系统python解释器
bash/zsh:
source /bin/activate.csh
Posix:
source /bin/activate
Windows cmd.exe:
\Scripts\activate.bat
PowerShell PS:
\Scripts\Activate.ps1
相应地,退出虚拟环境,则根据不同平台执行deactivate的可执行文件即可

遇到的一些问题
  1. 问题:windows上执行python3 -m venv ./venv时候报系统找不到指定的文件错误,且Scripts目录下的文件只有python和pythonw,没有activite相关文件
    解决方案:暂时不安装pip,之后手动安装
    python3 -m venv --without-pip ./venv
    window上,python v3.4+,只需要执行python -m ensurepip即可手动安装pip,其他版本可参考:https://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows
  2. 问题:为什么网上会出现各种virtualenvpyvenv创建虚拟环境的教程
    首先目的都是为了创建虚拟环境而创立的模块,python版本不同,使用的手段不同,官方是3.5版本后才推荐使用自带的venv模块创建,那么对于前期版本,只能使用其他办法,如使用第三方virtualenv模块等来创建

你可能感兴趣的:(python3,关于虚拟环境的创建)