Anacanda的服务器安装简单示例

最近准备自己跑一个项目,租两个服务器,用过了Anacanda以后,就爱上了它,部署环境必须安装它。为了避免baidu,google,简单做个记录。

 

首先下载Anacanda的安装包,服务器安装需要下载sh的安装包

wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
上面的版本太低了,用下面这个
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

这个是到2024年3月1日,最新的

wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

通过上面的命令,将安装包下载到本地

通过命令 bash Anaconda3-2021.05-Linux-x86_64.sh 安装软件,中间需要输入一个yes另外全部自动。

再下一步进入用户目录下的anaconda3/bin下执行 conda init,初始化环境,anaconda将一些启动配置写入相关文件。

 

待初始化完成,再次连接系统就直接进入了Anacanda的默认base环境,我下载的Anacanda版本还是比较新的,默认就是py3.8.8的版本

通过指定命令再创建一个环境

conda create --name py3 python=3.7

 

最后可以在个人的.bash_profile最后一行添加

conda activate py3, 默认进入之后,运行的就是自己设定的环境。

 

简单介绍就到这里结束。

 

前面第一个地址下载的anncanda的版本非常低,conda 4.10.1,不出意外应该是这个版本。

正常都是通过这个命令conda install -n base -c defaults conda就可以升级conda

这个版本太老了升级比较麻烦,可以通过

conda install -n base -c defaults conda --repodata-fn=repodata.json
这个命令升级,但这个命令好像也只能升级到4的最高版本

conda install -n base conda=22.9.0

这个命令,可以升级到22.9,但后面的升级感觉又无法实施。 

网上说这个命令可以升级到最新

conda install -n base -c conda-forge conda=24.1.2
参考链接https://github.com/conda/conda/issues/13549

但服务器内存小,运行到一半被干掉了

 

卸载老的canda,安装新的canda

Linux系统的卸载过程与macOS类似,首先打开终端,然后运行以下命令:

# 安装一个专用的工具,并执行命令,然后删除anacanda的目录

conda install anaconda-clean
anaconda-clean --yes
rm -rf ~/anaconda3

 

以下命令将创建一个名为 py38 的新环境,其中包含 Python 3.8 和 Anaconda 发行版中的所有包:

conda create -n "py38" python=3.8 anaconda

 

其他的clone一个环境

conda create --name new_env --clone old_env

 

删除一个环境

conda remove --name env --all

 

升级conda

conda update conda

 

当你执行 conda create -n env python=3.10 anaconda 命令时,你正在使用 conda 命令行工具来创建一个新的虚拟环境,这个环境具体的特征和组件如下所述:

分解命令

  • conda create: 这是用于创建新的 conda 环境的命令。

  • -n env: 这个选项指定了新环境的名称,这里的名称是 env。你可以将 env 替换成任何你喜欢的环境名。

  • python=3.10: 这个部分指定了在新环境中要安装的 Python 版本。在这个例子中,你请求安装 Python 3.10。conda 将会从它的包仓库中查找 Python 3.10 的安装包,并将其安装在新环境中。

  • anaconda: 这个部分指示 conda 在新环境中安装 Anaconda 发行版的默认包集合。Anaconda 是一个包含了众多科学计算和数据科学常用软件包的 Python 发行版,包括但不限于 NumPy、Pandas、Matplotlib 等。

  •  

 

参考链接: https://www.cnblogs.com/dawnlh/p/17341647.html        anaconda / conda 环境复制和迁移

环境复制

  • 方法 1:使用 conda create 命令的 --clone 参数可以直接复制一个环境 conda create --name <new_env> --clone <myenv>

  • 方法 2:由于 conda 的环境其实是以一个文件夹的形式存在于 anaconda 的安装路径下,所以也可以直接找到这个文件夹(如~/anaconda3/envs),复制一份,修改文件夹名称为新环境名即可。

环境迁移

如果想在其他电脑上使用当前电脑的 conda 环境,需要分为两种情况讨论。

新电脑和当前电脑具有相同的平台和操作系统

有两种方法:
方法 1:使用 conda list 命令保存当前环境的包的信息到一个txt文件,即 conda list --explicit > spec-list.txt;根据这个文件可以在其他电脑上进行相同环境的安装,即conda create --name <new_env> --file spec-list.txt

注意:对于pip安装的某些包,可能需要单独由pip通过类似的方法生成一个包的list(pip freeze >pip-requirements.txt),在新的电脑中再通过pip来安装这些包(pip install -r pip-requirements.txt)

方法2:利用 conda-pack 命令直接对环境进行打包,好处是打包之后得到是包文件可以直接复制到其他电脑后解压使用,不需要重新联网下载包了。具体步骤:

  • 安装conda-pack包:conda install -c conda-forge conda-pack 或者 pip install conda-pack
  • 使用 conda pack 命令开始打包环境(尽量在待打包的环境之外的环境运行):conda pack -n <my_env> 这个命令会将my_env环境打包生成一个my_env.tar.gz 的压缩文件,保存在当前路径下。
  • 复制打包的压缩文件到新的电脑上,并解压到 anaconda的env目录下(如~/anaconda3/envs):先在env目录中用打包环境的名字创建一个文件夹如 mkdir my_env, 然后将压缩包解压到这个目录 tar -xzvf my_env -C ~/anaconda3/envs/my_env
  • 查看迁移环境是否存在:conda info -e

新电脑和当前电脑具有不同的平台和操作系统

  • 导出 environment_name.yml 文件:conda env export > environment.yml
  • 在新电脑上,利用生成的environment_name.yml 文件复现环境:conda env create -f environment.yml

注意:对于pip安装的某些包,可能需要单独由pip通过类似的方法生成一个包的list(pip freeze >pip-requirements.txt),在新的电脑中再通过pip来安装这些包(pip install -r pip-requirements.txt)

 

根据我的实际测试,通过conda list --explicit导出的配置,通过conda create --name --file的方式,是不能安装通过pip安装的包的.

通过conda env 的模式,导出以及导入安装的方式,是可以安装pip安装的包的.

如果需要通过pip 安装差额的包,不能通过pip freeze 导出环境,因为输出会有这样的形式tornado @ file:///croot/tornado_1696936946304/work

需要通过命令pip list --format=freeze instead pip freeze,参考链接:https://github.com/rstudio/rsconnect-python/issues/166

总结就是通过conda create --file的方式,需要通过pip list --format=freeze的方式导出requirments,然后再通过pip install -r的方式安装
pip安装不会重复安装conda已经安装的包, 按照这样的逻辑,其实最好还是通过conda来安装包比较好.



posted @ 2021-11-08 14:27  就是想学习  阅读(163)  评论(0编辑  收藏  举报