python——venv虚拟环境

Python的venv模块提供了一种方便的方式来创建隔离的Python环境,避免包版本冲突。通过`python3 -m venv env_name`创建虚拟环境,激活环境后,可以使用`pip freeze > requirements.txt`记录依赖,并用`pip install -r requirements.txt`安装。关闭终端或运行`deactivate`会退出虚拟环境。此外,`activate`脚本用于环境切换,`VIRTUAL_ENV`变量指示当前环境路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python——venv虚拟环境

当进行复杂工程的时候,不同版本的包管理总成为基础又让人头疼的事情
“在 Linux 下使用 Python,我对各种版本的 python 解释器、pip 以及 N 多 python 包都产生了恐惧”

故可通过虚拟环境来解决问题

  1. python 自带虚拟环境创建工具
    or apt-get install python3-venv

  2. python -m venv 虚拟环境名
    
  3. cd 11_env\Scripts 
    activate
    #activate.bat
    #激活虚拟环境 (deactice停止)
    #如果关闭运行虚拟环境的终端,虚拟环境也将不再处于活动状态
    

不同平台

  1. 每一个虚拟环境都有其自己的 Python 二进制(允许有不同的 Python 版本创作环境),并且可以拥有自己独立的一套 Python 包。

  2. 到处当前所有依赖

    1. pip freeze > requirements.txt

    2. pip install -r requirements.txt

    3. if [ -f requirements.txt ]; then pip install -r requirements.txt; fi #不太懂
      

附:

#active.bat

# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
    # reset old environment variables
    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
        PATH="${_OLD_VIRTUAL_PATH:-}"
        export PATH
        unset _OLD_VIRTUAL_PATH
    fi
    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
        export PYTHONHOME
        unset _OLD_VIRTUAL_PYTHONHOME
    fi

    # This should detect bash and zsh, which have a hash command that must
    # be called to get it to forget past commands.  Without forgetting
    # past commands the $PATH changes we made may not be respected
    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
        hash -r
    fi

    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
        PS1="${_OLD_VIRTUAL_PS1:-}"
        export PS1
        unset _OLD_VIRTUAL_PS1
    fi

    unset VIRTUAL_ENV
    if [ ! "${1:-}" = "nondestructive" ] ; then
    # Self destruct!
        unset -f deactivate
    fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV="C:\Users\K\Desktop\randomFoder\bashGivUpRemote\re"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/Scripts:$PATH"
export PATH

# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "${PYTHONHOME:-}" ] ; then
    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
    unset PYTHONHOME
fi

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
    _OLD_VIRTUAL_PS1="${PS1:-}"
    if [ "x(re) " != x ] ; then
	PS1="(re) ${PS1:-}"
    else
    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
    fi
    fi
    export PS1
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands.  Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
    hash -r
fi

#tree v-env
├─Include
├─Lib
└─Scripts
### 如何使用Python `venv`创建和管理虚拟环境 #### 创建虚拟环境 为了在特定项目中隔离依赖项,可以在项目的根目录下通过命令行来创建一个新的虚拟环境。进入目标项目文件夹后执行如下命令: ```bash python -m venv .venv ``` 这条指令会在当前路径下生成名为`.venv`的文件夹用于存储该虚拟环境所需的所有资源[^2]。 #### 激活与停用虚拟环境 激活虚拟环境的方式取决于操作系统类型,在Windows环境下可以通过PowerShell运行以下命令完成激活操作;而在Linux或macOS系统里则应采用对应的shell脚本形式来进行激活: 对于 Windows (PowerShell): ```powershell .\.venv\Scripts\Activate.ps1 ``` 针对 Linux/macOS: ```bash source ./.venv/bin/activate ``` 一旦成功启用了指定的虚拟环境, 命令提示符前会出现括号内显示虚拟环境名称作为标志。(例如 `(myproject)`) 要退出正在使用的虚拟环境并返回全局解释器状态,则只需输入简单的deactivate命令即可实现目的: ```bash deactivate ``` #### 安装包至虚拟环境中 当处于已激活状态下时,任何利用pip工具所进行软件包下载都会被自动放置于对应虚拟环境内部而不影响系统的默认配置。因此建议先确认好工作区已被正确切换之后再继续后续动作: ```bash pip install requests ``` 上述例子展示了如何向新建立起来的空间添加第三方库——requests为例说明了具体过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值