目录
导出/安装项目依赖包
导出当前环境内所有包版本信息
pip freeze > requirements.txt
pip list 和 pip freeze 区别
# pip list 展示
(demo_env) D:\pythondemo\AdemoEnv>pip list
Package Version
------------------ ---------
certifi 2021.10.8
charset-normalizer 2.0.7
idna 3.2
pip 21.2.4
requests 2.26.0
setuptools 58.1.0
urllib3 1.26.7
wheel 0.37.0
# pip freeze 展示
(demo_env) D:\pythondemo\AdemoEnv>pip freeze
certifi==2021.10.8
charset-normalizer==2.0.7
idna==3.2
requests==2.26.0
urllib3==1.26.7
# 生成依赖包文件
pip freeze > requirements.txt
# 从文件中安装依赖包
pip install -r requirements.txt
虚拟环境创建方式一 :virtualenv (不推荐)
官网地址:Virtualenv — virtualenv 20.8.2.dev7+ga40640c documentation
简介:
虚拟环境内创建的Python版本和实际安装的Python版本是一致的;
虚拟环境内安装的包/库和真实环境不冲突;
升级系统Python版本后,虚拟环境可能会有问题。因为虚拟环境是参考系统Python创建的。
安装:
# 使用 pip 安装 virtualenv
pip install virtualenv
# windows 指定Python版本 创建虚拟环境
virtualenv -p [系统Python环境安装路径] [new venv name]
# windows 默认根据系统Python环境创建虚拟环境
virtualenv [new venv name]
# 激活虚拟环境
# Pycharm 内无需激活,直接使用
source [new venv name]/bin/activate
# 禁用虚拟环境
deactivate
虚拟环境创建方式二 venv:
简介:
使用自己的站点目录创建轻量级“虚拟环境”,可选择与系统站点目录隔离
每个虚拟环境都有自己的 Python 二进制文件(也就是python版本,与用于创建此环境的二进制文件的版本相匹配),
并且可以在其站点目录中拥有自己独立的已安装 Python 软件包集。
创建虚拟环境:Python -m venv venv_path
激活虚拟环境: <venv> 是自己的虚拟环境目录
windows: cmd:<venv>/Scripts/activate.bat
windows: PowerShell:<venv>/Scripts/Activate.ps1
Unix: bash: source <venv>/bin/activate
激活一个虚拟环境后,会将环境变量 VIRTUAL_ENV 的值设置为该虚拟环境的路径
只要激活了虚拟环境,pip就会将软件包安装到该特定环境中
查看当前环境:
windows: where python
unix: which python
退出虚拟环境:
windows: cmd:<venv>/Scripts/deactivate.bat
Unix: bash: deactivate
虚拟环境创建方式三 conda:
官方文档: https://docs.conda.io/en/latest/ https://docs.anaconda.com/
下载地址:https://www.anaconda.com/products/distribution 下载免费版
历史版本下载地址:https://repo.anaconda.com/archive/
简介:
适用于任何语言的包、依赖项和环境管理——Python、R、Ruby、Lua、Scala、Java、JavaScript、C/C++、FORTRAN 等。
Conda 是一个开源包管理系统和环境管理系统,可在 Windows、macOS 和 Linux 上运行。
Conda 可以快速安装、运行和更新软件包及其依赖项。
Conda 在本地计算机上轻松创建、保存、加载和切换环境。
它是为 Python 程序创建的,但它可以打包和分发任何语言的软件。
安装要求:
操作系统:Windows 8+、64 位 macOS 10.13+ 或 Linux,包括 Ubuntu、RedHat、CentOS 7+ 等。
系统架构:Windows-64位x86、32位x86;MacOS- 64 位 x86;Linux - 64 位 x86、64 位 aarch64(AWS Graviton2 / arm64)、64 位 Power8/Power9、s390x(Linux on IBM Z 和 LinuxONE)。
至少 5 GB 磁盘空间可供下载和安装。
【安装】
Linux 安装:
安装依赖:yum install libXcomposite libXcursor libXi libXtst libXrandr alsa-lib mesa-libEGL libXdamage mesa-libGL libXScrnSaver
下载anocanda: wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
安装:Anaconda3-2021.11-Linux-x86_64.sh
先查看许可协议,一直按下enter; 输入yes; 回车;等待几分钟安装;输入yes; 配置环境变量;新开一个shell窗口。
设置默认打开shell的时候是否自动激活base环境:conda config --set auto_activate_base False/True
windows安装:
下载安装包直接双击即可
入口:
windows: 在开始菜单里查找 Anaconda Prompt
mac: 打开 Launchpad,然后单击终端图标
linux: 打开中端窗口
查看conda版本:conda info
查看conda base环境的Python版本:python -V && pip --version
【配置】
查看全部配置信息:conda config --show
配置清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
取消自动进入base环境
conda config --set auto_activate_base false
【环境管理】
# 创建环境
conda create -n env_name
conda create -n env_name python=3.6.7 # 创建指定Python版本的环境
conda create -n env_name python=3.7.2 pymysql=1.0.2 flask # 创建指定Python版本、指定包版本、指定包的环境
# 激活环境并进入
conda activate env_name
# 退出环境 在环境内输入
conda deactivate
# 查看所有环境列表
conda info --envs
conda info -e
conda env list
# 删除环境
conda remove -n env_name --all
conda env remove -n env_name
# 导出包含各种依赖包的所有包信息
conda env export path/environment.yml
# (建议)导出只有指定包的信息
conda env export --from-history > E:\environment.yml
# 从指定环境文件创建环境
conda create -n env_name -f path\environment.yml
# 克隆一个新环境
conda create -n new_env_name --clone old_env_name
【Python包管理】
conda config --set show_channel_urls yes # 设置搜索时显示通道(channel)地址
conda list -n env_name # 查看某个环境下的包
conda list -n env_name package_name # 查看某个环境下的某个包是否存在
使用(先激活某个环境):
查看已安装的包:
conda list # 查看当前环境已安装的包,包含Python以及对应的依赖
conda list -n env_name # 查看指定环境的包
查看可用的包版本:
conda search pymysql
conda search flask --info # 查看指定包的依赖项
安装包
在线安装包到当前环境
conda install pymysql # 安装 pymysql 的最新版本
conda install pymysql=1.0.2 # 安装Python1.0.2 的最新版本
安装包到指定虚拟环境
conda install pymysql=1.0.2 -n env_name
离线安装包 (直接从文件来安装包不会解决依赖关系)
conda install path/file.tar
更新包
conda update pymysql # 将 pymysql 更新到最新版本
# 卸载包
conda remove -n env_name package_name # 删除指定环境下的指定包
conda remove package_name # 删除当前环境下的指定包
conda remove package_name1 package_name2 # 删除当前环境下的多个包