为每一个项目都创建一个conda环境

部署运行你感兴趣的模型镜像

起始缘由

今天在GitHub上下载一个新的项目并运行,发现又是一堆环境问题。
所以我决定今后对于每个项目,都创建一个新的conda环境。因为不同的项目之间的环境依赖不一样,会产生严重的相互污染。
现在我这个项目是SpQR. 链接

项目环境需求

从SpQR的主页上看到它的环境依赖:
To run SpQR with falcon make sure that you have torch>=2.0.0 with CUDA support.
所以我要安装torch>=2.0.0对应的python和conda。

创建conda环境

首先,用nvidia-smi命令查看服务器的conda version为11.2,所以就安装对应的pytorch框架。

  1. 创建conda环境,命名为SpQR:
conda create --name SpQR python=3.9
conda activate SpQR
  1. 安装对应的pytorch:
conda install pytorch torchvision torchaudio cudatoolkit=11.2 -c pytorch

这是chatgpt提供的。安了一通报错,提示似乎找不到对应的pytorch。
然后chatgpt告诉我可以安装cudatoolkit=11.1或者11.2都行。
师兄说直接安装,不用指定版本,它会自己安排的,所以我就这么安装:

conda install pytorch torchvision torchaudio -c pytorch

安装完之后给出的pytorch版本:

import torch
print(torch.__version__)

给出:2.0.1,就暂且相信它安装好了吧。

运行requirements.txt

进入SpQR文件夹(不是SpQR的conda环境)之后,执行以下命令:

pip install -r requirements.txt

开始运行项目

这时候出现了一个问题:
libcublas.so.11: symbol cublasLtGetStatusString, version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference,然后我去查,是requirements.txt文件中有一条指令是安装torch1.13, 它会自动安装:
nvidia_cublas_cu11,nvidia_cuda_nvrtc_cu11,nvidia_cuda_runtime_cu11 and nvidia_cudnn_cu11.
而由于我已经安装了cudatoolkit,所以报错。解决方法是:pip uninstall nvidia_cublas_cu11
值得一提的是我在powershell执行了pip uninstall命令之后,在vscode上面运行还是报错,然后我到终端运行又不报错,可能是vscode更新不及时,需要重启。

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 解决 `CondaEnvironmentError` 和 学习 Conda 环境管理 #### 一、解决 `Cannot remove current environment` 错误 当尝试删除当前激活的 Conda 环境时,会出现类似于 `CondaEnvironmentError: Cannot remove current environment` 的错误。这是因为在 Conda 中不允许直接删除正在使用的环境,以免破坏其完整性[^1]。 ##### 正确删除当前激活的 Conda 环境的方法 1. **停用当前环境** 使用以下命令停止使用当前活动的环境: ```bash conda deactivate ``` 2. **验证当前环境已停用** 运行以下命令以确认当前没有任何环境处于激活状态: ```bash conda info --envs ``` 输出中应显示根环境(base)未被激活的状态。 3. **删除目标环境** 停用后,可以安全地删除目标环境。假设要删除的环境名为 `myenv`,则运行以下命令: ```bash conda remove --name myenv --all ``` 4. **特殊情况下的删除方式** 如果常规方法无法正常工作,还可以通过以下命令实现环境移除: ```bash conda env remove -n myenv ``` --- #### 二、创建新的 Conda 环境的方法 为了更好地管理和隔离项目所需的依赖项,建议按照以下步骤创建一个新的 Conda 环境: 1. **定义环境名称和 Python 版本** 创建一个环境并指定 Python 版本(例如 Python 3.9),运行如下命令: ```bash conda create --name new_env python=3.9 ``` 2. **激活新建的环境** 启动刚刚创建的新环境: ```bash conda activate new_env ``` 3. **安装必要的包** 在激活状态下,可以根据需求安装额外的库或工具。例如,安装 NumPy 库: ```bash conda install numpy ``` 4. **导出环境配置文件** 将当前环境的配置保存到 YAML 文件中,方便以后重复构建相同环境: ```bash conda env export > environment.yml ``` 5. **从配置文件还原环境** 当需要基于之前的配置重新创建环境时,可以加载 YAML 文件: ```bash conda env create -f environment.yml ``` --- #### 三、常见问题及解决方案 - **Solving environment: failed with initial frozen solve** 出现此提示通常是因为 Conda 在解析依赖关系时遇到了困难。可以通过启用灵活模式来加速解决过程: ```bash conda config --set channel_priority flexible ``` - **UnsatisfiableError** 表明请求的包组合与现有环境中已有的包存在冲突。尝试更新 Conda 并清理缓存后再重试: ```bash conda update conda conda clean --all ``` --- ### 总结 以上介绍了如何正确处理 `CondaEnvironmentError` 错误以及创建和管理 Conda 环境的最佳实践。遵循这些指南能够有效避免常见的陷阱,并提高开发效率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值