大家好,我是Mr数据杨。我们知道《三国演义》中的诸侯分野,各建立了自己的“虚拟环境”,就如同Python中的原生虚拟环境和Anaconda虚拟环境,它们允许在同一操作系统上分别运行并管理不同版本的Python和各种库,这就如同魏、蜀、吴各自拥有的独特战略和兵种。
就像诸侯之间需要通过使者传递信息,也需要配置虚拟环境变量,这使得Python环境可以正确找到所需的库和模块,就如同诸侯之间的联络使得信息流畅,防止混乱。这些虚拟环境都需要一个安全的“主城”——在Python中称之为虚拟环境保存位置。这就如同三国中的都城一样,它提供了稳定的基地,让诸侯可以从这里开始他们的战略布局。
Python原生虚拟环境
Python原生虚拟环境是通过venv模块实现的。需要确保Python版本是3.3及以上,将通过以下步骤创建并使用虚拟环境:
创建虚拟环境,使用执行命令python -m venv my_project_venv python=3.8
将在当前目录下创建一个名为my_project_venv
的虚拟环境,其python的版本为3.8。
python -m venv my_project_venv python=3.8
对于Windows用户,执行命令my_project_venv\Scripts\activate
激活虚拟环境
my_project_venv\Scripts\activate
对于macOS和Linux用户,激活虚拟环境,执行命令source my_project_venv/bin/activate
,看到命令提示符前面有虚拟环境的名称,表示虚拟环境已经激活。
source my_project_venv/bin/activate
虚拟环境安装依赖库,和普通安装一样,比如安装numpy,执行命令pip install numpy
。
pip install numpy
执行命令deactivate
,退出虚拟环境。
deactivate
Anaconda虚拟环境
Anaconda是一个用于科学计算的Python发行版,提供了自己的虚拟环境管理工具conda。接下来将通过以下步骤创建并使用Anaconda虚拟环境:
创建虚拟环境,执行命令conda create --name my_project_venv python=3.8
将在当前目录下创建一个名为my_project_venv
的虚拟环境,其python的版本为3.8。
conda create --name my_project_venv python=3.8
激活虚拟环境,执行命令conda activate my_project_venv
,看到命令提示符前面有虚拟环境的名称,表示虚拟环境已经激活。
conda activate my_project_venv
虚拟环境安装依赖库,和普通安装一样,比如安装numpy,执行命令pip install numpy
。
pip install numpy
执行命令deactivate
,退出虚拟环境。
deactivate
虚拟环境变量配置
有时候需要在虚拟环境中配置一些环境变量或者运行一些初始化脚本。为此可以在虚拟环境的激活脚本中添加相应的内容。
对于Python原生虚拟环境:
- 对于Windows用户,可以编辑
my_project_venv\Scripts\activate.bat
文件。 - 对于macOS和Linux用户,可以编辑
my_project_venv/bin/activate
文件。
对于Anaconda虚拟环境:
- 无论是Windows还是macOS和Linux用户,都可以编辑
my_project_venv/conda-meta/user-scripts.py
文件。 - 在相应的文件中,可以添加环境变量或者运行初始化脚本。例如可以在activate脚本中添加以下内容来配置一个环境变量。
export MY_ENV_VAR=my_value
同样也可以在激活脚本中运行一些初始化脚本。例如在Linux或macOS系统中,可以添加以下内容来运行一个名为my_init_script.sh
的初始化脚本。
source my_init_script.sh
在Windows系统中,你可以使用call
命令激活虚拟环境。
call my_init_script.bat
通过以上方法可以方便地为虚拟环境配置环境变量和初始化脚本。这在某些需要特定设置的项目中会非常有用。
虚拟环境保存位置
如果想修改创建的python虚拟环境保存位置的情况下可以进入C盘用户的目录下寻找一个.condarc
的文件,用notepad++打开,复制下面的内容即可。
envs_dirs
指定虚拟环境的创建和存储目录。ssl_verify
用于控制是否验证通过 HTTPS 协议下载的软件包的 SSL 证书。show_channel_urls
控制是否显示下载软件包时的通道 URL。auto_activate_base
设置在启动新的命令提示符或终端会话时是否自动激活基础环境。channels
指定默认的软件包通道。custom_channels
指定自定义软件包通道。default_channels
指定默认的软件包通道。
auto_activate_base: false
channels:
- defaults
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
show_channel_urls: True
ssl_verify: true
envs_dirs:
- F:\PythonWorkProject\MyEnvsProject