复现论文的conda环境(win和联网、离线linux)

一、anaconda安装

1.安装包下载

​​​​​Distribution | Anaconda

(1)linux

根据自己系统下载Linux安装包,上传到home/用户名下,然后使用命令安装

sh Anaconda3-2021.11-Linux-x86_64.sh

中间一直yes,到安装路径选择时可以默认,也可以指定自己想要安装的路径。

(2)windows

下载windows安装包,安装方式和普通软件类似,选择自己的路径进行安装即可。

2.检查是否成功

安装后使用命令行检查是否安装成功

conda -V

可能存在自动配置path失效的问题,如果出现conda找不到命令,则需要手动配置

(1)linux

vi ~/.bashrc

在最后一行插入,注意替换成自己的路径(vi编辑,“i”变成insert模式,修改后esc,然后:wq,没有权限的话:wq!)

export PATH=”$PATH:/home/username/anaconda3/bin”

重启环境变量

source ~/.bashrc

然后conda -V则成功

(2)windows

在“此电脑”-“高级系统设置”-“环境变量”-上面一栏的用户环境变量-“Path”-“编辑”-“新建”,将安装的anaconda的script路径添加进去

然后conda -V则成功

二、使用requirement.txt

linux在控制台,windows打开anacondaPrompt

(1)查看环境

conda env list

(2)新建环境

之后使用查看环境命令看是否创建成功,创建时等终端收集好数据后要按个y+回车

python版本可以在requirement.txt中查看,没有的话需要自己指定

conda create --name myEnvName(替换自己想要的名称) python=x.x

(3)激活环境

conda activate myEnvName

(4)安装requirement.txt的包

windows下将该文件放在C:\Users\自己用户名\下。linux放在root\下

requirement.txt格式如下:

ncurses==6.1
openssl==1.1.1g
pcre==8.43
xz==5.2.4
zlib==1.2.11
glib==2.63.1

如果是python包,则使用pip命令

pip install -r requirements.txt

如果是conda包(二进制包),则使用conda命令

conda install --yes --file requirements.txt

(5)查看成功安装的包

conda list

(6)删除环境

如果中途出现了问题,可以删除该环境然后重新执行以上步骤。

记得关闭终端重新打开一次或者退出环境后再删除。

conda deactivate
conda remove -n  myEnvName --all

三、自己环境生成requirement.txt

生成目录在:win:C:\Users\自己用户名\或者linux:root\下

pip命令会生成python的所有包,但没有conda的

pip freeze > requirements.txt

conda的

conda list -e > requirements.txt

四、离线的Linux环境复现

如果有可以联网且有gpu的linux可以跳过前两步,从3开始

1.在windows上跑通代码

在windows上安装anaconda,并且运行好项目代码,注意路径可以使用如下代码,以便需要修改绝对路径或相对路径失效,有时直接使用“../”等会在conda的envs下开始相对路径而不是本项目。

from pathlib import Path
base_path = Path(__file__).resolve().parent.parent

2.在windows上安装linux虚拟机

win11要使用vmware17及以上,不然蓝屏

(1)自己找教程配置

可以使用自己的虚拟机,配置好外网连接,ping www.baidu.com成功即可

选择桥接或nat,要修改ens33的ip配置等

(2)作者已有的虚拟机

虚拟机,下载CentOS-7-x86_64-DVD-1708.iso

修改vmx和vmdk中的版本配置

修改nat的ip为192.168.101.0,网关192.168.101.2

虚拟机ip为192.168.101.65

finalshell连接使用root/centos

禁用NetworkManager

systemctl stop NetworkManager

systemctl disable NetworkManager

关闭虚拟机防火墙

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

查看是否成功

ip address

ens33有ip即联网,或通过ping www.baidu.com

3.生成自己的requirement.txt

在联网的win或者linux上安装好anaconda(参考“一”)后,调试好项目,然后生成requirement.txt(参考“三”),注意其中的有关win的包可能会报错,可以尝试着删掉,如果使用装有显卡的联网linux则不会出错。

此时要注意现有机器和目标机器(即离线linux)上的cuda版本一致问题,否则在联网机器可以跑通,离线不可以。

经过上述步骤后,会有一个在linux系统下可以跑通的conda环境。在envs/下找到环境包,整体下载下来,然后上传到离线服务器中,给上传的包赋予运行权限

在cd /usr/用户名/program/anaconda3/envs/mykg(自己的环境位置) 下

chmod -R 777 bin

到此,环境复现成功。

五、使用pycharm打开服务器上的项目并且运行

想要使用pycharm成功运行离线服务器上的项目,参考另外一篇文章:

pycharm打开服务器(linux)上的项目-CSDN博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值