使用配置文件创建conda环境

参考链接:conda installpip install 的区别 https://www.cnblogs.com/yibeimingyue/p/14660246.html

注意:使用官方给出的部署文件进行环境的创建时,特别要注意 cuda 版本是否和服务器的版本(显卡驱动版本)一致(这里的一致是指:显卡驱动以及 CUDA 版本不能低于需要安装的 CUDA 版本)!否则即使安装了 PyTorch 或者时 Tensorflow,也会因为和服务器的硬件设备驱动版本不一致导致运行不成功!

写在前面

使用以下部署工具部署环境时,最好不要使用官方提供的文件,而是自己新创建一个文件,然后把必须的包写入,然后再进行部署!原因如下:

  • 作者提供的一般都是使用命令直接导出的,而导出的文件我们打开看,会发现除了各种版本信息 =... 外,后面还跟着许多奇奇怪怪的字符,这个虽然也是指定相应的版本,但是大概率是和自己的机器相匹配的信息,如果直接安装,后面出现各种奇怪的错误,你都不会发现是版本问题导致的!
  • 我们要做的,就是手动导入,然后自己指定相关版本信息,这样安装的包就是和自己的机器匹配的,不会安装错误!

一、pip 自动部署工具 requirements.txt

生成当前环境的依赖:

pip freeze > requirements.txt

其中 requirements.txt 文件内容如下。

# 不写版本号默认安装最新的版本
matplotlib==xxx
Pillow==xxx

使用 requirements.yml 完成环境部署:

conda/source activate 虚拟环境
pip install -r requirements.txt

二、conda 自动部署工具 environment.yml

请注意,Conda 建议environment.yml 手工创建(即手动填写那些必须的依赖包以及相关配置),如果要跨平台(Windows / Linux /Mac)共享环境,这尤其重要。在这种情况下,您可以省略该 prefix 行。

使用以下命令将当前激活的虚拟环境保存:

conda env export > environment.yml

在当前目录下自动生成相关安装依赖关系,具体示例如下。

name: xxx
channels:
  # 指定下载通道,可以指定.condarc中的下载通道,也可以指定官方下载通道,从上到下进行优先选择
  - defaults  # 使用默认的下载源通道
  - custom  # 这个在清华源的官方配置文件中也进行指定的
  - pytorch  # 不要认为是官方的下载源,如果是直接复制的清华源配置,那么这里已经重定向到清华源了
  - anaconda
  - conda-forge  # cudatoolkit 就是从这个源里面下载
  # - nodefaults  # 使得默认的下载源失效!看情况使用
dependencies:
  # 以下python和pip必须指定
  - python=3.x  # 这里还能指定版本:python>=3.5
  - pip  # 这个必须有,因为后面使用到了 pip,不然都没有安装怎么执行后面的 pip 命令
  - xxx  # 这里可以指定使用 conda install 安装的包,比如 pytorch, torchvision, torchaudio 三套件(注意:不需要指定 cudnn,PyTorch-GPU 默认会安装[torch cudatoolkit cudnn] 这三者之间的匹配关系会自动帮我们选好,默认的是最新版)
  - pip:
      - xxx  # 这里也可以指定版本:numpy==1.16.0
      - [-f] https://..  # 指定的下载通道

例子:

name: GlobalTrack
channels:
  - defaults
  - pytorch
  - conda-forge
dependencies:
  # 注意 1: dependencies 里面版本指定与 pip 里面版本指定的区别
  # 这里使用的是 =, 或者 > <,而 pip 里面使用的是 == >= <=
  - python=3.8
  # 使用 conda install 安装 PyTorch,注意原来指定的通道这里放在 `channels` 里面了
  - pytorch=1.8.1
  - torchvision=0.9.1
  - torchaudio=0.8.1
  - cudatoolkit=11.1
  - pip
  - pip:
    - black
    - imageio
    - mmcv==0.4.3
    - numpy
    - opencv-python
    - opencv-python-headless
    - Pillow
    - scikit-image
    - scikit-learn
    - scipy
    - Shapely
    # 以下是使用 pip install 安装的配置
    # - torch==1.8.1+cu111
    # - torchaudio==0.8.1
    # - torchvision==0.9.1+cu111
    # - -f https://download.pytorch.org/whl/torch_stable.html
prefix: ~/anaconda3/envs/GlobalTrack  # 不会发生作用,只是给其他人说明安装的位置

指定安装版本时,注意 pip 使用双等号,dependencies 中为等号!如果不指定,默认安装最新的版本。

使用 envrionment.yml 完成环境部署:

conda env create -f environment.yml

参考链接:https://www.jianshu.com/p/7cc505f8e2bd

总结

使用 conda 部署时可以一步到位,简单,但是有以下两个明显的缺点:

  1. 整个安装过程的提示信息是很少的,而且安装的出错后的提示信息不是很全面。比如说如果是在 pip 那部分某一个包安装失败,导致整个部署过程直接结束,最后提示的信息竟然给我们定位到了 conda 自动创建的临时文件 conda.emvs.requirenmens.txt(好像是这个名字,其实在 pip 这部分,还是调用的 pip install -r requirements.txt 来安装,所以为什么会有这个临时文件),安装终止后,该临时文件也没有了!所以提示信息不是很友好。当然,如果要定位的话,还是可以的。一般会提示在多少行出错,直接从 environment.yml 中的 pip 开始,往下对应到相同的行数就可以。
  2. 如上所述,如果其中的某一个包安装失败,后面的所有包都不会被下载,直接终止。然而,该环境已经创建,如果直接使用上述命令进行部署,会提示 CondaValueError: prefix already exists:~/anaconda3/envs/GlobalTrack,这时如果需要重新安装,必须先卸载!
conda remove -n GlobalTrack --all
# 或者直接删除安装虚拟环境的文件夹
rm -rf ~/anaconda3/envs/GlobalTrack

这是相当麻烦的,令人不快!conda 好像并没有提供直接强行覆盖的功能,因此只能这样操作!

附:手动创建环境时顺便安装深度学习包

这里需要纠正一点的是,如果我们不需要做 CUDA 编程(相信大部分小伙伴都用不到),那么我们是不需要进行那么复杂的 CUDATOOLKIT cuDNN 的安装配置的,只需要把 NVIDIA 驱动安装好就可以了!然后在安装 PyTorch Tensorflow-GPU 的时候,只要指定的是 GPU 版,以及对应的 CUDA/cudatoolkit 版本(主要是和自己机器的 NVIDIA-DRIVER CUDA 版本匹配——自己机器的不能低于 PyTorch/Tensorflow 要求的最低版本)就会自动下载 这三套件了 pytorch/tensorflow cudatoolkit cudnn,小伙伴们可以自己仔细看看控制台的安装信息!

友情提示:为什么需要时刻关注控制台的安装信息呢?因为有的时候明明我们指定的是 GPU 版本,如果我们不仔细看,那么可能就会默认变成了 CPU 版本,那么后面调用相应的包时肯定是找不到了的啦!这里为什么会改变大概率是版本不匹配(CUDA & PyTorch/Tensorflow)引起的,可以更换下安装的版本试试!

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果使用配置文件创建conda环境中断了,可以尝试以下解决办法。首先,检查环境配置文件environment.yml)是否正确,确保所有的包都能够被解析和安装。如果配置文件中指定了特定的Python版本,也要确保该版本已经正确安装。如果配置文件中指定的包无法解析或找不到,可能会导致创建环境失败。 另外,还可以尝试以下方法解决问题: 1. 检查网络连接:确保网络连接正常,可以访问所需的包和依赖项。 2. 清除缓存:使用以下命令清除conda的缓存,然后再次尝试创建环境。 ``` conda clean --all ``` 3. 更新conda使用以下命令更新conda到最新版本。 ``` conda update conda ``` 4. 创建环境:如果以上方法都无效,可以尝试创建一个空的conda环境,然后手动安装所需的包和依赖项。 ``` conda create -n env_name ``` 然后使用以下命令激活环境并安装所需的包。 ``` conda activate env_name conda install package_name ``` 如果以上方法仍然无法解决问题,建议查看conda的官方文档或向conda的支持社区寻求帮助,以获取更详细的解决方案。引用\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [创建conda环境配置出现conda env create -f environment.yml报错解决办法](https://blog.csdn.net/weixin_68577197/article/details/129065170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [服务器普通用户无法使用conda命令及conda删除虚拟环境失败 解决方案](https://blog.csdn.net/qq_16763983/article/details/119545310)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值