赞
踩
python的依赖管理是中心化的,因此需要虚拟环境来解决不同项目所需的解释器版本和依赖版本不同的问题
本篇博客对Python常用的虚拟环境进行介绍,以便加深理解和记忆
python3.3版本之后内置的模块
# 1.创建虚拟环境:创建路径/{虚拟环境名}文件夹,复制了当前默认解释器的拷贝
# bin:pip、python等可执行文件
# pyvenv.cfg:配置文件
# site-packages:lib目录下
python3 -m venv {路径/{虚拟环境名}}
# 2.激活虚拟环境
cd {路径/{虚拟环境名}}
source ./bin/activate
# 3.推出虚拟环境
deactivate
# 1.安装 pip install virtualenv # 2.创建虚拟环境 cd {路径} # --system-site-packages:使用父解释器包含的依赖 # --no-site-packages:已废弃,成默认项 # -p:指定父解释器版本,如:python3.9 virtualenv {虚拟环境名} [--system-site-packages|--no-site-packages] -p {版本} # 3.激活退出虚拟环境 # windows cd script activate deactivate # linux cd bin source activate deactivate # 4.删除虚拟环境 rm -r {虚拟环境名}
结合pycharm使用:指定解释器为虚拟环境中的解释器即可
基于virtualenv的封装,将所有虚拟环境整合在一个目录下默认(~/.virtualenvs)。提供了很多api,切换环境很方便。
# 1.安装 pip3 install virtualenv # 确保virtualenv已安装 pip3 install virtualenvwrapper # Linux pip3 install virtualenvwrapper-win # Windows # 2.配置(或./zshrc) vim ~/.bashrc # 改环境变量WORKON_HOME来指定虚拟环境的保存目录(virtualenvwrapper默认将所有的虚拟环境放在~/.virtualenvs目录下管理) export WORKON_HOME=$HOME/.virtualenvs # 如果你安装的virtualenv不在系统默认的python解释器上,就需要单独指定virtualenvwrapper使用的python路径:VIRTUALENVWRAPPER_PYTHON export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3.6/bin/python3 source /etc/profile # 3.激活virtualenvwrapper source /usr/local/python3.6/bin/virtualenvwrapper.sh # 4.创建虚拟环境 mkvirtualenv --python=/usr/local/python3.9/bin/python3 venv8 # 5.查看当前的虚拟环境目录 workon lsvirtualenv # 6.切换虚拟环境 workon venv8 # 7.退出虚拟环境 deactivate # 8.删除虚拟环境 rmvirtualenv venv8 # 9.显示 site-packages 目录中的内容 lssitepackages
pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷
# 1.安装 pip3 install pipenv # 2.创建虚拟环境 cd <your_project> pipenv install pipenv --two # 使用当前系统中的Python2 创建环境 pipenv --three # 使用当前系统中的Python3 创建环境 pipenv --python 3.7 # 3.激活虚拟环境 pipenv shell # 4.退出虚拟环境 exit # 5.删除虚拟环境 pipenv --rm # 6.安装包(生成Pipfile.lock文件) pipenv install package_name [--skip-lock] pipenv install -r {path/to/requirements.txt}卸载包 # 7.运行项目 pipenv run python {xxx.py} # 8.查看包与包之间依赖关系 pipenv graph # 9.查看虚拟环境保存路径 pipenv --venv # 10.查看python解释器路径 pipenv --py # 11.卸载包 pipenv uninstall {package_name} # 12.pipfile文件 # [[source]]可以指定pypi库的源,这里可以指定多个源,让不同的包从不同的源里面下载 # 如:指定requests包从home源下载,maya包从pypi源下载 [[source]] url = "https://pypi.python.org/simple" verify_ssl = true name = "pypi" [[source]] url = "http://pypi.home.kennethreitz.org/simple" verify_ssl = false name = "home" [dev-packages] [packages] requests = {version="*", index="home"} maya = {version="*", index="pypi"} records = "*" # [scripts] 添加自定义的脚本命令,并通过 pipenv run 的方式在虚拟环境中执行对应的命令 # 如:pipenv run dev 相当于 pipenv run python3 manage.py runserver 0.0.0.0:8000 [scripts] test = "python3 -m unittest discover -s ./tests" dev = "python3 manage.py runserver 0.0.0.0:8000"
1.概述
2.安装
3.使用
1)版本管理
# 检查安装与版本
conda -V
# 检查更新当前conda
conda update conda
2)环境相关
# 检查安装与版本 conda -V # 检查更新当前conda conda update conda # 查看虚拟环境 conda env list conda info -e # conda info 查看配置信息 # 创建虚拟环境 conda create -n [env_name] conda create -n [env_name] python=3.8 # 指定py版本 conda create -n [env_name] python=3.8 dumpy #指定py版本和要安装的包 # 克隆环境 conda create --name new_env_name --clone base_env_name # 删除环境 conda remove -n [env_name] --all # 进入环境 conda activate [env_name] # 退出环境 exit # 激活或者切换虚拟环境 Linux: source activate [env_name] conda activate [env_name] Windows: activate [env_name] # 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本) source deactivate conda deactivate # 导出环境的包列表 conda env export --file [文件名字.yml] --name [env_name] conda env export --file coder-base.yml --name coder-base # 基于导出的yml文件创建新环境 conda env create -f [文件名字.yml] conda env create -f coder-base.yml
3)依赖管理
# 查看虚拟环境中安装了哪些包 (默认为base环境) conda list # 安装包 conda install [package_name] # 搜索待安装包信息 conda search [package_name] # 更新包 conda update [package_name] # 删除包 conda remove [package_name] # 删除环境中的某个包 conda remove --name $env_name $package_name # 直接清除被缓存包 conda clean -t # 直接清除索引缓存、未使用缓存包 conda clean -y -a
4)通道管理(镜像)
# 设置清华大学镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
# 恢复默认镜像
conda config --remove-key channels
# 查看已安装通道
conda config --show channels
# 更改通道
conda update [package_name]
# 删除某个通道
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。