远程服务器上配置conda环境 您所在的位置:网站首页 极乐盒子app为什么总是连接不上服务器 远程服务器上配置conda环境

远程服务器上配置conda环境

2024-06-30 16:50| 来源: 网络整理| 查看: 265

前言

本文假设在linux的机子上进行配置。由于作者经常需要在特定环境的代码中才能运行成功,因此最好是配置一个conda env虚拟环境(当然使用virtualenv也可以), 不过有些论文作者直接就是按照conda去配置,然后把一些依赖导出,因此本文说一下如何在linux上配置conda.

下载miniconda

该部分参考 https://blog.csdn.net/qq_42951560/article/details/109152114

暂时没感受到conda和miniconda的区别,我在linux上用Miniconda比较多。 可以去官网查看 https://docs.conda.io/en/latest/miniconda.html

也可以去清华镜像(推荐): https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

然后挑一个合适的版本(比如我想下载 Miniconda3-py38_4.8.3-Linux-x86_64.sh)。拷贝链接, 在终端输入(找一个文件夹即可)

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

然后输入一下命令进行安装

bash Miniconda3-py38_4.8.3-Linux-x86_64.sh

中途可能需要输入yes或者回车

安装成功后添加一下环境变量

export PATH="【conda安装的位置】/bin:$PATH"

这个路径其实中途有输出

之后重新开一个终端,会发现已经命令行前面有提示环境了。

也可以看看虚拟环境列表。

快速创建环境极简版

这里python其他版本也行

conda create -n 【环境名字】 python=3.8

[optional] 装个pqi 切换一下pip 镜像源 pip镜像管理和npm镜像管理

然后

conda activate 【环境名字】

后面缺啥就conda install 啥或者 pip 啥

这里提一嘴torch的安装,现在不建议状态低版本的torch了,有些依赖会要求一定版本以上,例如torchmetrics要求torch>=1.8.1

装的时候我是这样,为了快一点 可以去这里找https://download.pytorch.org/whl/cu111/torch/ 然后再下载的目录下,离线安装pytorch

pip install torch-1.9.0+cu111-cp38-cp38-linux_x86_64.whl

对应的torchvision是0.10.0

attention 或者有时候把环境全下完太久了,选择性安装可以考虑如下 例如我需要一下环境(stylegan3)

Python 3.9.16 torch 1.9.1 torchvision 0.10.1

先创建个环境

conda create --name stylegan3 python=3.9.16

在安装pytorch

conda install pytorch=1.9.1 cudatoolkit=11.1 -c pytorch

然后再pip一些包 (这里可以边运行边pip, 就是代码报错说缺啥module你再pip相应包就行)

numpy requests click pillow

by the way, 我尝试了一下, 以下环境在3090也是可用的。

python 3.7.6 torch 1.8.0+cu111 torchvision 0.9.0+cu111

conda常用命令

查看conda环境列表

conda env list

创建环境时(如xtreme, 下同)指定python版本, 例如3.7.5

conda create --name xtreme python=3.7.5

创建环境时指定依赖(例如将依赖的网址写在conda-env.txt的文件中。

conda create --name xtreme --file conda-env.txt conda env create -f environment.yaml

有些依赖比如

https://conda.anaconda.org/pytorch/linux-64/pytorch-1.3.1-py3.7_cuda10.0.130_cudnn7.6.3_0.tar.bz2

可以替换成重庆邮电大学的镜像的文件:

http://mirrors.cqupt.edu.cn/anaconda/cloud/pytorch/linux-64/pytorch-1.3.1-py3.7_cuda10.0.130_cudnn7.6.3_0.tar.bz2

不过还是比较推荐配置成清华大学的镜像, 它支持的版本比较多, 很多库基本能在这下面两个链接找到: https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/pytorch-1.3.1-py3.7_cuda10.0.130_cudnn7.6.3_0.tar.bz2

激活名为xtreme的环境 (conda init后需要重启shell, 我们重新开一个终端就好了。

conda activate xtreme

删除名为xtreme的环境

conda remove -n xtreme --all

python版本问题

有时候可能作者的python版本和本地全局的不一样。虽然我们conda create了一个环境,但是会发现pip3管理的包共用了…(ps: 有趣的是,并不是每台机子都会遇到…比如我租的腾讯云(centos 7)没有遇到…感觉很玄学

有个问题就是,你跑代码的时候,找不到这个module, 但是你用pip3去install, 会提示这个包在另一个python版本的site-packages已经exits!

看了一篇博客 https://blog.csdn.net/qq_37344125/article/details/104418636, 发现也没能帮助我问题,我连site-package目录都没有。

于是查了一下, 发现conda的github issue #394 一个老哥提了一个问题,

但发现最后结论是 conda不负责管理这些包,啊这…(不知道是不是因为菜导致我理解错了…

于是我只能求助 pyenv (ps: 11.8这天我发现也可以不用pyenv, 详见本文的 【指定版本的python相应的pip工具安装packages】部分), 我原来本地是3.8多的版本, 想切换到 3.7.5, 原作者的python版本。

于是我下载3.7.5版本,有点慢, 当然国外服务器这个下载速度就还行(因为repo服务器本身也在国外)

pyenv install 3.7.5

切换源可参考 pyenv 安装 Python 使用国内源 也可以直接使用shell

$ v=3.8.5; curl -L https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -o >~/.pyenv/cache/Python-$v.tar.xz; pyenv install $v

然后把3.7.5设置为全局(不推荐,不符合软件工程规范,但我一时找不到好办法),这样pip3 install的包就能被项目的代码用上了。

pyenv global 3.7.5

如果下面两个可以work, 则不推荐设置为全局

pyenv local 3.7.5 # 设置当前工作目录开始向下递归继承 pyenv shell 3.7.5 # 只作用于当前会话

安装pyenv

如果环境没有pyenv, 那么 拷贝一下链接的内容: https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer 写成一个sh文件,比如 pyenv_install.sh 然后bash pyenv_install.sh, 最后添加环境变量

export PATH=~/.pyenv/bin:$PATH export PYENV_ROOT=~/.pyenv

指定版本的python相应的pip工具安装packages

例如我们用miniconda创建了一个虚拟环境xtreme, python的可执行路径在

/【用户名】/miniconda/envs/xtreme/bin/python

该路径可以通过 which python 命令找到(注意是在目标虚拟环境情况下) 那么用将numpy安装到该版本下的python对应的site-packages目录的方法如下

/【用户名】/miniconda/envs/xtreme/bin/python -m pip install numpy

这样子就可以直接不用安装pyenv就能解决问题了。

其他

todo… 以后遇到啥问题或者有更好方案再更新啦。

另外colab不知为何,下成功后,conda env list也有,但总是切换不过来,不知道是不是notebook没法切换的问题。

按照 Colab中安装conda - polyAI - 博客园 (cnblogs.com)操作也没法成功。

%%bash MINICONDA_INSTALLER_SCRIPT=Miniconda3-4.5.4-Linux-x86_64.sh MINICONDA_PREFIX=/usr/local wget https://repo.continuum.io/miniconda/$MINICONDA_INSTALLER_SCRIPT chmod +x $MINICONDA_INSTALLER_SCRIPT ./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX import sys _ = (sys.path .append("/usr/local/lib/python3.6/site-packages"))

(ps: 最后一行注意python的版本。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有