蓝色
紫色
理解Python虚拟环境
Anaconda中的虚拟环境
虚拟环境用来隔离式安装不同项目所需要的不同版本的各种库,相当于是一种容器,各种容器间互相隔离、互不影响。
Conda
Conda是一个辅助进行包管理和环境管理的工具,是Ananconda默认的Python包和环境管理工具。
Conda可以快速安装、运行和更新软件包及其依赖项。
Conda既具有pip的包管理能力,同时也具有vitualenv的环境管理功能 ,因此在功能上Conda可以看作是pip 和 vitualenv 的组合。
conda和pip
pip是一个软件包管理器,可简化python软件包的安装,升级和卸载,它适用于虚拟python环境,允许在多个python环境之间切换和管理。
conda是任何软件(安装,升级和卸载)的软件包管理器,它适用于虚拟系统环境,允许在多个通用环境之间进行切换和管理。
关于如何保存虚拟环境
pip方式
pip install -r
可以指定批量安装所有依赖的 requirements
文件,requirements
文件可以精确指定安装包版本,有效避免不兼容问题。
执行 pip freeze
可以把当前环境的包以 requirements
的格式输出。
conda方式
- 进入虚拟环境后,使用
conda env export > environment.yaml
进行备份 - 使用
conda env create -f environment.yaml
重建该环境。
重建
备份环境信息的时候,可以是 .yml
或者 .yaml
将 .yml
文件放在工作目录下,通过 conda env create -f environment.yml
即可以快速从文件中创建相关环境。
关于虚拟环境的基本操作
创建
conda create -n env_name python=x.x
env_name
文件可以在anaconda安装目录 envs
文件下找到,注意,不指定python版本的时候自动安装最新版本。
需要同时安装必要包:
conda create -n env_name numpy matplotlib python=2.7
激活
windows:
activate env_name
linux:
source activate env_name
激活后,可以使用 python --version
检查当前python版本信息。
退出
deactivate env_name
# 或者
activate root # 切回root环境
删除
conda remove -n env_name --all
参考链接: conda常用命令
其他常用命令
# 查看当前环境下安装的包
conda list
# 下载安装包
conda install package_name
# 安装opencv
conda install --channel https://conda.anaconda.org/menpo opencv3
# 安装GPU版本的tensorflow
conda install tensorflow-gpu
# 查看当前存在哪些虚拟环境
conda env list
conda info -e
# 检查更新当前conda
conda update conda
关于一些配置和换源
conda install pytorch torchvision cpuonly -c pytorch
-c pytorch
指定pytorch源作为channel来下载,比 ~/.condarc
设置的镜像源 优先级高 。通过以下方式可以添加清华源:
- 直接找到
.condarc
文件进行修改,该文件存储在C:\Users\xxxx\.conda\
路径下。 - 使用命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
可以使用 conda config --show-sources
查看所有源。
奇奇怪怪的知识 – 关于cuda
Compute Unified Device Architecture:一种并行计算架构,能够使 GPU 进行数据并行处理,解决复杂的计算问题,能够用来完成计算加速。CUDA中包含很多库,例如cublas,cufft 等计算库。
Unofficial Windows Binaries for Python Extension Packages
这里可以寻找OpenCV和Python的版本对应
安装记录
1. 从官网下载对应版本的Anaconda和VScode
2. 配置VScode中的C++环境
1. 安装编译器 MinGW
这里我安装的版本是 x86_64-posix-seh
,把它解压缩放到 C:\Program Files\
中。
复制路径 C:\Program Files\mingw64\bin
,把它配置到系统环境变量中。
然后通过命令 cd C:\Program Files\mingw64\bin\
和 gcc -v
查看是否安装成功。
参考链接:VsCode安装和配置c/c++环境
2. VScode中安装 C/C++
插件
3. 配置 ·vscode·文件
参考链接:VSCode配置C/C++环境 -知乎
有报错:
是因为在加入系统path的时候, bin
后少了一个\
,更改完重启一下VScode就可以了。
3. 安装 Python3.6 + PyTorch-GPU
# 创建workspace环境
conda create --name workspace python=3.6
# 进入workspace 环境
conda activate workspace
# 退出虚拟环境
conda deactivate
关于是否安装CUDA ?
CUDA负责GPU的加速处理,但是Tensorflow-GPU和Pytorch-GPU版本都自带了简化的 CUDA toolkit ,所以只需要根据自己电脑的显卡驱动版本,确定相应版本的包进行安装即可。
关于CUDA的安装:2021.04|pytorch+cuda11.1+anaconda3+vscode安装
安装GPU版本的Pytorch
首先在 cmd
使用
nvidia-smi
查看支持的cuda版本,结果显示,支持 11.2及以下版本
也可以通过NVIDIA contrl panel 查看显卡信息:
使用 nvcc -v
查看是否安装cuda,如果已经安装成功,会显示相应版本信息。
或许 你可以使用清华源,安装速度会更快:
敲黑板!!
国内连Pytorch的服务器速度很慢,安装失败率很高,所以切换到清华镜像源几乎是必须的。
感谢这个hxd的提醒:Win10 + Anaconda3 + Pytorch1.8 ( CUDA11.1 ) +Jupyt
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# conda install pytorch torchvision cudatoolkit=10.2
conda install pytorch torchvision torchaudio cudatoolkit=11.1
注意:这里要把官网上默认的 -c pytorch -c conda-forge
去掉,不然还是会 默认从主服务器上 下载,速度很慢!!
参考链接:WIN10+RTX3070+anaconda+cudatoolkit=11.1+pytorch 1.8 环境配置时,下载中断和失
离谱哇 不用清华源很容易下失败哇 真的要好久好久…等了4h没下下来1.6G的pytorch包…就一直卡在那儿我人傻了…
进入PyTorch官网,查看相应版本下载命令:
conda-forge
应该也是一个库,里面有很多包。
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge
查看是否安装成功:进入该虚拟环境下
python # 进入python环境
import torch
print(torch.cuda.is_available()) # True意味着你可以使用GPU
如果安装失败,要重新来过:
conda activate workspace
conda remove -n workspace --all # 这是清除虚拟环境的命令啦
4. 安装py3.6对应版本的OpenCV
首先使用 pip list
查看当前虚拟环境中安装的包
OpenCV版本对应下载地址
将下载好的 .whl
文件放到 C:\Users\007\anaconda3\envs\workspace\Lib\site-packages\
下:
pip install C:\Users\007\anaconda3\envs\workspace\Lib\site-packages\opencv_python-4.4.0-cp36-cp36m-win_amd64.whl
再次使用 pip list
查看安装的包,就可以看到有 opencv-python 4.4.0
了:
参考链接:win10+anaconda+python虚拟环境安装opencv
5. 给vscode工作文件夹设定 默认的anaconda虚拟环境
首先设置当前工作文件夹的python编译器路径,可以有两种方式:
一开始只是切换编译器路径并不能让代码的运行环境切换到anaconda的虚拟环境中
以为是code runner的设置不对,一直没有切进workspace,于是尝试了:
vscode code-runner配置python虚拟环境解释器
并没有解决,学到了一点点东西…
再后来…
这里看到终端采用PowerShell的时候,一直切换不进workspace,从Command Prompt中可以看到当前环境情况,所以应该将终端设置为cmd模式。
更改方法:
参考链接:vscode如何将默认终端powershell改为cmd?
后来 当我第二次打开VScode时,它又回到了PowerShell终端emmm,并且提示:
This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in #terminal.integrated.profiles.windows# and setting its profile name as the default in #terminal.integrated.defaultProfile.windows#. This will currently take priority over the new profiles settings but that will change in the future.
它说 你需要采用新的方式来设定默认为Command Prompt:
将之前的 加入的最后的那句改成:
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
}
},
"terminal.integrated.defaultProfile.windows": "Command Prompt",
就可以看到终端处变成这个:(此时也可以通过shift+crl+p调出setting搜索terminal来找到这个选项了)
参考链接:The new way to configure default shell and argument commands in VSCode?
测试:
import cv2
img=cv2.imread("C:\\Users\\007\\Desktop\\PyTorch\\nice.jpg")
print(img) # 如果输出tensor说明读到了图像,如果是None,则没有
cv2.imshow("q1",img)
cv2.waitKey(0)
'''
# 测试当前环境的python版本
import sys
print(sys.version)
'''
看过的一些资料:
vscode切换python解释器失败
在VSCode中配置Python环境以及可能出现的问题和解决办法(code runner的配置及内附Pycharm配置教程)