Python虚拟环境
一、使用virtualenv
1.使用pip
1 | pip install virtualenv |
2.创建运行环境
1 | virtualenv [虚拟环境名称] |
- 激活环境
1
2cd venv
source ./bin/activate - 退出环境
deactivate - 删除环境
没有使用virtualenvwrapper前,可以直接删除venv文件夹来删除环境 - 使用环境
进入环境后,一切操作和正常使用python一样 安装包使用pip install 包使用conda管理
- 创建虚拟环境
1
conda create -n vname python=3.9
- 激活虚拟环境
1
source activate vname
- 退出虚拟环境
1
source deactivate
- 删除虚拟环境
1
conda remove --vname venv --all
- 其他指令三、conda环境移植
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# 列出系统存在虚拟环境
conda info -e
conda env list
# 查看当前环境下已安装的包
conda list
# 查看某个指定环境的已安装包
conda list -n venv
# 查找package信息
conda search numpy
# 安装package
conda install -n venv numpy
# 如果不用-n指定环境名称,则被安装在当前激活环境
# 也可以通过-c指定通过某个channel安装
# 更新package
conda update -n venv numpy
# 删除package
conda remove -n venv numpy
第一步:激活需要迁移的虚拟环境第二步:conda导出yml配置文件:1
conda activate xxx
注:该配置文件内包四个字段:name / channels / dependencies(pip) / prefix,其中有两处需要修改1
conda env export > xxx.yml
(1)name:U-2-Net
就是虚拟环境名称
(2)channels:
可以用来换源,默认为Default(这里我用的是清华源)
此处需要修改为:
1 | channels: |
(3)dependencies:
一级是conda安装的包列表,子级pip下是pip安装的包列表,此处需要将pip以及下方该字段的相关列表删除。
此处需要修改(就把下面四行pip包相关直接删除掉):
1 | - zstd=1.4.9=haebb681_0 |
(4)prefix: /home/changdunrui/anaconda3/envs/U-2-Net
虚拟环境路径(我的俩服务器路径一样,就没有修改,不一致时修改为目标anaconda的envs下就行)
第三步:pip导出库列表txt文件(一定要加–format):
1 | pip list --format=freeze > xxx.txt |
第四步:将生成的两个文件(xxx.yml 和 xxx.txt)拷贝到新的服务器下面
第五步:在新服务器用如下命令创建新conda环境:
1 | conda env create -f xxx.yml |
注:两个文件得在当前目录下,此时会将yml中conda库进行安装。自测pip包安装时间过长,所以在第二步删除pip字段,在第六步单独安装pip的包。
第六步:激活已创建的虚拟环境(同第一步)并安装pip的依赖包(这里pip我用的是豆瓣源)
1 | conda activate xxx |