Conda

2024-11-05T09:58:27+08:00 | 2 minute read | Updated at 2024-11-05T09:58:27+08:00

@
Conda

name: SY
signature: ‘@玥’
avatar: pAs8mkR.md.jpg date: 2024-11-05T11:30:00+08:00 tags:
- 编程笔记

conda安装

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

sh Miniconda3-latest-Linux-x86_64.sh

source ~/.bashrc


conda install --channel conda-forge cartopy

conda install --yes --channel conda-forge

conda install --yes --file requirements.txt

# 导出环境
conda env export  --no-builds > conEnv.yaml

# 导入环境


conda env create -f py36.yaml

pip install --upgrade setuptools

# 查看环境
conda info --envs 

# pip导出安装的库到27.txt:

pip freeze > requirements.txt
# pip导入27.txt中列出的库到新机:

pip install -r 27.txt
  
  • 添加环境变量

vim ~/.bashrc

# 2.在.bashrc文件底部添加  
# 为了避免与其他服务器用户产生命令冲突,使用自己的英文名+Python替代python 
alias yuepython='/root/anaconda3/bin/python'   
#这里写anaconda的安装路径
export PATH="/root/anaconda3/bin:$PATH"


source ~/.bashrc

conda --version
#conda 4.5.11

换源

vim ~/.condarc


channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud


或者直接执行
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

创建虚拟环境

  • your_env_name 文件可以在 Anaconda 安装目录 envs 文件下找到。
#创建虚拟环境
conda create -n conEnv python=3.10(3.6、3.7等)pip=21.0.1

#激活虚拟环境
source activate your_env_name(虚拟环境名称)

#退出虚拟环境
source deactivate your_env_name(虚拟环境名称)

#删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all
conda remove --name your_env_name package_name  # 删除环境中的某个包
#查看安装了哪些包
conda list

#安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包

#查看当前存在哪些虚拟环境
conda env list 
#或 
conda info -e
#或
conda info --envs
#检查更新当前conda
conda update conda
#更新anaconda
conda update anaconda
#更新所有库
conda update --all
#更新python
conda update python

安装requirements.txt依赖:

pip install -q -r requirements.txt

迁移环境打包

conda pack -n 虚拟环境名称 -o output.tar.gz
如果报错:No command ‘conda pack’
尝试使用:conda install -c conda-forge conda-pack
复制压缩文件到新的电脑环境

进到conda的安装目录:/anaconda(或者miniconda)/envs/
在该名目录下创建文件夹
解压conda环境:tar -xzvf output.tar.gz -C /anaconda(或者miniconda)/envs/创建的文件夹/
使用conda env list查看虚拟环境

# pip部分
pip download -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ -d ./pip_packages

# 打包
tar -czvf example_folder.tar.gz example_folder

# 解压
tar -xzvf example_folder.tar.gz -C output_folder

# 离线安装:
  –find-links指定的是包文件的存放地址,-r指定的是txt文件的位置

pip install --no-index --find-links=d:\packages -r requirements.txt

conda生成 requirements.txt

# 导出
conda list -e > requirements.txt
# 导入安装
conda install --yes --file requirements.txt
# 解决上面出现的不执行后续包的问题
FOR /F "delims=~" %f in (requirements.txt) DO conda install --yes "%f" 
# 导出 yml 文件方式
conda env export > freeze.yml
# 安装
conda env create -f freeze.yml

pipreqs

pip install pipreqs -i https://pypi.tuna.tsinghua.edu.cn/simple/
pipreqs . --encoding=utf8 --force
# 离线包导出
pip download -r requirements.txt -d ./pip_packages
# 离线安装:
  –find-links指定的是包文件的存放地址,-r指定的是txt文件的位置

pip install --no-index --find-links=d:\packages -r requirements.txt

迁移遇到的问题

_CondaPackError

  • pip安装的包的版本与conda安装的包的版本冲突了,需要进行统一
    解决办法:
    第一步,创建环境时综合考虑初始包的版本,保证满足当前待导出环境中其他包的依赖需求,并在创建环境时设定好版本,例如
conda create -n env_name python=3.6 pip=21.1.2

这样保证了版本兼容性之后,在采用pip安装环境所需要的后续包的时候就不会产生卸载重装已有包更新版本的问题了。

第二步,在迁移后,可能之后还会有新的包补充安装,并面临环境的再次迁移。因此,需注意以下几点:

在安装新的包的时候,注意检查其依赖的包,如果有的依赖包在当前环境中已经安装,则需进一步检查其当初是采用pip安装的还是初始时conda安装的,如果是前者,则可直接采用pip install的命令安装新的包,如果是后者,则需要使用conda install先将依赖包按照所需要的版本安装,然后再使用pip install安装新的包,这样便保证了包版本在pip和conda两边的一致性,进而保证再次导出时不会报上述的错误。


Conda notes.

© 2024

passion passion python !

Me

my name is ShiYue.

This is my blog website.