Linux conda离线安装终极教程

这篇博客介绍了如何在Linux服务器上安装和使用Miniconda,包括下载conda、配置国内镜像、创建环境、安装模型所需库文件等步骤。此外,还详细讲解了如何离线安装Python库,例如torch-summary,适用于没有网络连接的服务器环境。

前言

Miniconda比较简单,只能在命令行中使用,anaconda比较强大,有一个界面化的软件,但是占用系统空间较大。实验室服务器使用Linux系统,用命令行操作的miniconda就可以了。
在这里插入图片描述

1. 下载conda

国内服务器需要选择conda镜像,通常有清华源、中科大、北京外国语镜像。这里选择清华源镜像(使用帮助)。

  • miniconda版本选择

网页(地址)上会显示对应不同系统、不同版本的Miniconda,服务器使用Linux系统,需要下载Linux版本对应的miniconda。看日期找到最新版本的Miniconda3-latest-Linux-X86_64.sh。复制链接地址。
在这里插入图片描述
复制链接到服务器,用服务器下载Miniconda。

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

2. 安装conda

使用bash命令安装,注意安装路径,安装到自己的文件夹下。认真看安装过程提示信息,需要按Enter (回车键)或者输入yes,(如果输入yes时,不小心输多了,就按control和退格键删除)

bash Miniconda3-latest-Linux-x86_64.sh

在这里插入图片描述
(1)看到more就是按空格键翻页查看协议,按q退出
在这里插入图片描述
(2)接受协议,输入yes
在这里插入图片描述
(3)默认安装路径,按enter
在这里插入图片描述
(4)会询问是否需要初始化,输入yes
在这里插入图片描述
(5)显示安装已完成的提示信息
在这里插入图片描述

  • 激活刚安装完成的软件

一般安装软件完成后需要重启,在Linux叫激活,有两种方式,第一种是重新登录服务器,第二种是输入以下命令:

source ~/.bashrc

3. 检查conda是否安装成功

安装一个软件后,需要检查软件是否安装成功,调用软件的帮助文档。

conda --help

能调用帮助文档说明安装成功

4. 配置conda镜像

主要看自己的服务器在哪里,无论人在国外还是国内,使用的服务器在国内,就配置国内镜像。

# 下面这三行配置官网的channel地址
conda config --add channels r 
conda config --add channels conda-forge 
conda config --add channels bioconda
##以上三句命令一次性复制粘贴或是单独复制粘贴到服务器

配置国内访问镜像,国内用户推荐的镜像,以下选清华或是北外的镜像都可以,以下代码块里的(1)和(2)选其中一个配置镜像,清华镜像的访问量很多,可以选北外镜像。

#(1)下面这四行配置清华大学的conda的channel地址,国内用户推荐
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
##配置清华镜像,四句代码一起复制粘贴到服务器

# (2)下面四行配置北京外国语大学的conda的channel地址
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/ 
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/ 
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/ 
conda config --set show_channel_urls yes
  • 查看配置镜像结果

配置镜像完成后会出现一个.condarc 文件,使用以下命令查看结果。

cat ~/.condarc
##关掉左上角的(base),运行以下两行代码
conda config --set auto_activate_base false
source ~/.bashrc
##不想关掉也没有关系

5. 创建conda环境

根据自己要跑的模型,在实验室服务器上创建相应的conda环境。

# 创建名为model的环境
conda create -y -n  model  python=3
#如果不加-y,中间会问需要继续进程吗?
#linux一般会默认安装python最新版本,除非所处的环境不能安装最新版本的。

# 创建小环境成功,并成功安装python3版本
# 每建立一个小环境,安装一个python=3的软件作为依赖

# 查看当前conda环境
conda info -e

# 每次运行前,激活创建的小环境rna
conda activate rna
##激活成功会出现一个小括号(小环境名字,rna)
# 退出小环境
conda deactivate

在这里插入图片描述

6. 在环境中安装模型所需的库文件

Conda下载安装软件指定版本,-y 参数的作用是忽略提示。

注:软件都要安装在小环境中,不要安装在 base里, 首先要用conda激活小环境。

##在小环境里安装软件
# 激活环境
conda activate model
##安装库文件,其中的Pyinstaller 是你需要下载的库或包名,根据自己需求自行更改即可
pip install Pyinstaller -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
##安装成功一般会出现三个done,
##有时候清华源安装不成功,可以使用其他镜像源进行安装,这里选择的是阿里云

# 调出帮助文档
Pyinstaller --help

##可以指定安装版本
pip install Pyinstaller==x.x.x -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
##安装完成返回3个done,如果有一个文件比较大,终止了,可以重新运行安装命令

# 可以一次安装多个软件
pip install Pyinstaller1 Pyinstaller2 Pyinstaller3 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
##作为新手,建议一个个软件安装,有时候软件之间会出现冲突,conda不能解决软件之间的冲突问题。
  • 国内常用的镜像源链接

阿里云 http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http://pypi.douban.com/simple/

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

7. conda的其他用法

  • 更新软件:conda update 软件名
  • 卸载软件:conda remove 软件名
  • 删除环境:conda remove -n 环境名 --all
  • 克隆环境:conda create -n 新环境名 --clone 旧环境名
  • 查找软件:conda search 软件名

注意:以上的操作要在小环境里

8. 服务器离线安装python库文件(以torch-summary为例)

首先打开PyPI(https://pypi.org/)下载torch-summary的.whl文件。

在这里插入图片描述
然后将.whl文件上传到服务器中的个人文件夹下。

在这里插入图片描述
最后运行命令

pip install --no-index torchsummary-1.5.1-py3-none-any.whl

安装成功

在这里插入图片描述

参考

<think>我们正在解决的是`conda update -n base conda`命令执行时出现内存不足错误的问题。根据引用[3]和[4]提供的信息,当常规更新命令无效时,可以通过添加`--repodata-fn=repodata.json`参数来解决。此外,我们还需要考虑内存不足的特定情况,因此需要一些优化内存使用的策略。 ### 解决方案 #### 1. **使用`--repodata-fn=repodata.json`参数** 引用[3]和[4]指出,在更新conda时添加`--repodata-fn=repodata.json`参数可以解决更新无效的问题。这个参数的作用是让conda使用完整的repodata数据,而不是默认的压缩格式(repodata.json.bz2),这样可以避免由于元数据解析问题导致的更新失败。虽然这可能会增加下载量,但可以解决一些更新问题。对于内存不足的情况,这个参数可能减少内存占用,因为conda不需要解压bz2文件(解压过程需要内存)。 ```bash conda update -n base -c defaults conda --repodata-fn=repodata.json ``` #### 2. **减少内存占用的通用方法** - **清理缓存**:在更新前清理conda缓存,释放磁盘空间(可能间接帮助内存管理): ```bash conda clean -a ``` - **使用Mamba**:Mamba是一个更快的Conda替代品,它使用libsolv进行依赖解析,效率更高且内存占用更少。安装Mamba后,用Mamba更新conda: ```bash conda install -n base mamba -c conda-forge mamba update -n base conda ``` - **增加虚拟内存**(特别是在物理内存不足的情况下): - **Linux**:可以临时增加交换空间(swap space): ```bash # 创建一个4GB的交换文件 sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` 更新完成后,可以关闭并删除交换文件: ```bash sudo swapoff /swapfile sudo rm /swapfile ``` - **Windows**:通过系统设置增加虚拟内存(页面文件大小)。 #### 3. **分步更新** 如果直接更新到最新版本内存不足,可以尝试分步更新,每次只更新一个中间版本。例如,当前版本是4.6.14,最新版本是4.9.2,可以先更新到4.8.x,再更新到4.9.2。 ```bash # 第一步:更新到一个中间版本(如4.8.1) conda install -n base conda=4.8.1 # 第二步:再更新到最新版本 conda update -n base conda ``` #### 4. **离线更新** 如果在线更新内存不足,可以尝试下载conda安装包进行离线安装。 - 访问[Anaconda仓库](https://repo.anaconda.com/pkgs/misc/conda-executables/),找到对应平台的conda安装包(例如:`conda-4.9.2-Linux-x86_64.sh`)。 - 下载后,运行安装脚本: ```bash bash conda-4.9.2-Linux-x86_64.sh -u -p /path/to/anaconda ``` 其中`/path/to/anaconda`是你的conda安装路径(通常为`~/anaconda3`或`~/miniconda3`)。 #### 5. **使用pip更新(备选)** 注意:通常不建议在base环境中使用pip,但作为最后的手段,可以尝试: ```bash pip install --upgrade conda ``` ### 总结步骤 1. **尝试使用`--repodata-fn=repodata.json`参数更新**(引用[3][4]): ```bash conda update -n base -c defaults conda --repodata-fn=repodata.json ``` 2. **如果仍然内存不足,安装Mamba并用Mamba更新**: ```bash conda install -n base mamba -c conda-forge mamba update -n base conda ``` 3. **分步更新**(如果上述方法无效): ```bash # 选择一个中间版本 conda install -n base conda=4.8.1 conda update -n base conda ``` 4. **终极方案:离线更新**(当网络更新始终失败时)。 ### 常见问题解答 **为什么会出现内存不足?** Conda在解析依赖关系时需要加载所有包的元数据到内存中。当包索引很大(如完整的Anaconda仓库)时,内存占用可能超过物理内存,特别是当系统可用内存较少时。 §§相关问题§§ 1. 如何永久增加Linux系统的交换空间? 2. Mamba相比Conda有哪些性能优势? 3. 如何安全地离线更新Conda? 4. 如何检查Conda更新过程中的内存使用情况? [^1]: 引用自站内解决方案 [^3]: 引用自站内解决方案 [^4]: 引用自站内解决方案</think>### 解决 `conda update -n base conda` 内存不足错误 当执行 `conda update -n base conda` 时出现内存不足错误,通常是由于 Conda 依赖解析过程占用过多内存。以下是系统化的解决方案: --- #### 1. **使用轻量级依赖解析参数** [^3][^4] 添加 `--repodata-fn=repodata.json` 参数可强制 Conda 使用未压缩的元数据,减少内存占用: ```bash conda update -n base -c defaults conda --repodata-fn=repodata.json ``` --- #### 2. **分步更新策略** [^1] 通过指定版本逐步更新,避免大版本跳跃导致的内存溢出: ```bash # 先更新到中间版本(根据当前版本调整) conda install -n base conda=4.8.2 # 再更新到最新版 conda update -n base conda ``` --- #### 3. **使用 Mamba 替代 Conda** [^5] Mamba 是更高效的依赖解析器(内存占用降低 50-90%): ```bash # 安装 Mamba conda install -n base mamba -c conda-forge # 用 Mamba 更新 Conda mamba update -n base conda ``` --- #### 4. **手动释放系统内存** 在操作前释放内存资源: - **Linux/macOS**: ```bash sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches # 清理缓存 ``` - **Windows**: 1. 打开任务管理器 → 结束非必要进程 2. 以管理员身份运行 Anaconda Prompt --- #### 5. **增加虚拟内存** - **Windows**: 1. `控制面板` → `系统` → `高级系统设置` 2. `性能设置` → `高级` → `虚拟内存` → 调整为物理内存的 1.5-2 倍 - **Linux** (临时增加 4GB swap): ```bash sudo dd if=/dev/zero of=/swapfile bs=1G count=4 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` --- #### 6. **离线更新方案** 当在线更新失败时: 1. 下载最新 Conda 安装包: [https://repo.anaconda.com/pkgs/misc/conda-executables/](https://repo.anaconda.com/pkgs/misc/conda-executables/) 2. 手动安装: ```bash bash Conda-<version>-Linux-x86_64.sh -u -p $CONDA_PREFIX ``` --- ### 关键原理说明 内存不足通常发生在: 1. Conda 尝试解析复杂依赖树时 2. 使用旧版本 Conda(<4.10)的元数据处理逻辑 3. 系统可用内存 < 2GB(建议至少保留 4GB 空闲内存) > ⚠️ **注意**:操作前建议备份环境: > `conda env export > environment_backup.yml`
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值