远程服务器上配置conda环境 | 您所在的位置:网站首页 › 极乐盒子app为什么总是连接不上服务器 › 远程服务器上配置conda环境 |
前言
本文假设在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 pillowby 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 实验室设备网 版权所有 |