anoconda 使用过程中基本问题概览_最新更新

anoconda 使用过程中基本问题概览


写在前面: 根据以往经验一个字一个字的认真写的, 所以不妨点个赞然后再拿走…

anaconda 使用相关

查看版本:

conda --version

查看已有的虚拟环境:

conda info --envs

升级检查版本:

conda update conda

导出/导入环境

# 导出
conda env export > freeze.yml
## 或者
conda list -e > freeze.yml
# 导入
conda env create -f freeze.yml

问题: 我在 window 下的 conda 环境, 想要迁移到 Linux 下, 如果执行上述指令, 那么就会出现问题.
方法: conda env export --no-build > freeze.yml
缘由: 默认情况下,conda 将使用构建导出您的环境,但构建可以是特定于平台的(By default, conda will export your environment with builds, but builds can be platform-specific)。

切换(激活)环境:

Windows: activate py36 
Linux and macOS: source activate py36 

退出环境:

Windows: deactivate
Linux, macOS: source deactivate

删除虚拟环境:(不要乱删,特别是base)

conda remove -n py36 --all

下载速度慢

解决下载速度慢有两种方法, 一种是更改下载地址, 另一种是使用代理.

清华源地址

anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

通过代理下载

如果你有代理软件的话, 建议用代理软件下载. 原因有:

  1. 清华源有时候会出现方法访问的问题, 或者访问特别慢的问题;
  2. 你有时候从 conda 官网下包, 有时候从镜像站点下载, 混合着用也可能会出现问题;

pip 可安装的包通过 conda 却不一样

一种可能是codna仓库内没有收入相关包, 不过更大的可能是你需要配置额外的仓库 或者 安装的时候指定额外的仓库.
需要查看到底有没有被 conda 仓库收入, 可以通过:

  1. 网上搜索
  2. 官方仓库查找: https://anaconda.org/search

安装时指定仓库

 conda install -c conda-forge xxx

永久配置额外仓库

查看已经配置的下载仓库的指令如下:

# 方式一:
conda config --show-sources
# 方式二:
conda config --get channels

同上, 我想要添加 conda-forge 仓库, 那么可以通过以下方式更改:

  1. 指令添加: conda config --append channels conda-forge
  2. 更改配置文件:
    1. win: C:\Users\{这是你电脑的用户名}\.condarc
    2. Linux: ~/.condarc

更改后的效果如下:

channels:
  - defaults
  - conda-forge

jupyter

安装了多个环境, 在jupyter 中却不能随意的切换环境.

conda install nb_conda_kernels # 应该是可选的吧.
conda install ipykernel jupyter notebook
conda install ipykernel

# 切换到相应的环境, 然后将环境写入notebook的kernel中
python -m ipykernel install --user --name 环境名称 --display-name "Python (环境名称)"
# 会生成相应的文件:
## WIN. C:\Users\xxx\AppData\Roaming\jupyter\kernels
## Ubuntu. 

并重新启动notebook,在kernel -> change kernel中即可切换到指定的虚拟环境

conda 安装 pip

  1. 最简单的方式, 但是如果遇到找不到的包就会报错并停止安装后续的包.
conda install --yes --file requirements.txt
  1. 不停止, 并且安装所有能安装的包. 对于不能安装的包保存到 error.log.
# Ubuntu
while read requirement; do conda install --yes $requirement; done < requirements.txt 2>error.log
# Window
## 手动执行
for /f %i in (requirements.txt) do conda install --yes %i
## 在 BAT脚本 中
for /f %%i in (requirements.txt) do conda install --yes %%i
  1. 不停止, 如果 conda 不能安装, 那就通过 pip 安装
# Ubuntu
while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
# Window
FOR /F "delims=~" %f in (requirements.txt) DO conda install --yes "%f" || pip install "%f"
## Window
  1. 不停止, 如果还存在注释, 安装过程需要忽略
# Ubuntu
while read req; do if [[ $req != "#"* ]]; then conda install --yes $requirement || pip install $requirement; fi; done < requirements.txt

我修改了一下代码, 方面看出安装了哪些包, 可选择性拿取:

while read requirement
do
        echo ${requirement}
        conda install --yes $requirement;
done < requirements.txt 1>conda_succ.log 2>conda_error.log

reference:
@online{BibEntry2021Nov,
title = {{Install only available packages using “conda install --yes --file requirements.txt” without error}},
organization = {Stack Overflow},
year = {2021},
month = {11},
date = {2021-11-04},
urldate = {2021-11-04},
note = {[Online; accessed 4. Nov. 2021]},
url = {https://stackoverflow.com/questions/35802939/install-only-available-packages-using-conda-install-yes-file-requirements-t},
abstract = {{While installing packages in requirements.txt using Conda through the following command conda install --yes --file requirements.txt If a package in requirements.txt is not available, then it throw…}}
}

@online{BibEntry2021Nov,
title = {{Install Python dependency packages from requirements.txt using conda.}},
organization = {Gist},
year = {2021},
month = {11},
date = {2021-11-04},
urldate = {2021-11-04},
language = {english},
hyphenation = {english},
note = {[Online; accessed 4. Nov. 2021]},
url = {https://gist.github.com/luiscape/19d2d73a8c7b59411a2fb73a697f5ed4},
abstract = {{Install Python dependency packages from requirements.txt using conda. - install_packages.sh}}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

或许,这就是梦想吧!

如果对你有用,欢迎打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值