Python3 venv 创建虚拟环境

简介

Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。

该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包。

需要注意的是,在Python3.3中使用”venv”命令创建的环境不包含”pip”,你需要进行手动安装。在Python3.4中改进了这一个缺陷。

创建虚拟环境

在当前目录创建虚拟环境:

$ python -m venv .

下面是”venv”的详细使用参数:

usage: venv [-h] [--system-site-packages] [--symlinks] [--clear]
            [--upgrade] [--without-pip] ENV_DIR [ENV_DIR ...]

Creates virtual Python environments in one or more target directories.

positional arguments:
  ENV_DIR             A directory to create the environment in.

optional arguments:
  -h, --help             show this help message and exit
  --system-site-packages Give access to the global site-packages dir to the
                         virtual environment.
  --symlinks             Try to use symlinks rather than copies, when symlinks
                         are not the default for the platform.
  --copies               Try to use copies rather than symlinks, even when
                         symlinks are the default for the platform.
  --clear                Delete the environment directory if it already exists.
                         If not specified and the directory exists, an error is
                         raised.
  --upgrade              Upgrade the environment directory to use this version
                         of Python, assuming Python has been upgraded in-place.
  --without-pip          Skips installing or upgrading pip in the virtual
                         environment (pip is bootstrapped by default)

激活虚拟环境

在Posix标准平台下:

$ source <venv>/bin/activate

在Windows cmd下:

C:> <venv>/Scripts/activate.bat

在Windows PowerShell下:

PS C:> <venv>/Scripts/Activate.ps1

测试虚拟环境

激活虚拟环境后,在命令行会提示当前虚拟环境的名称,就表示激活成功了。

在当前虚拟环境中安装numpy:

$ pip install numpy

当前安装的numpy包与系统中的不会冲突,下面进行测试:

$ python
>>> import numpy
>>> print(numpy)

如果输出了numpy的包路径就表示一切正常。

官方文档参考

https://docs.python.org/3/library/venv.html

    原文作者:codekun
    原文地址: https://www.jianshu.com/p/d8e7135dca40
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞