Flask上传服务器,conda环境配置(都怪pytorch)
问题:有个任务,将一个flask的服务换到另一个服务器上,之前的服务器一直用国内的镜像源可以直接下载镜像,当这个服务器设置相同的镜像源也下载不了,一直卡在solving environment这一步。找到一个方法,可以直接复制整个虚拟环境到另一个服务器上。当别的方法都试过了还是不行,可以试试这个方法。(主要原因就是pytorch太难安装)
安装conda-pack
conda install -c conda-forge conda-pack
打包环境
my_env_name表示要打包的环境
conda pack -n my_env_name -o my_env_name.tar.gz
上传到目标服务器
一般都是通过FinalShell等工具连接到服务器,因此首先用FinalShell下载下来my_env_name.tar在上传到另一台服务器即可。
激活环境
# 设置解压的目录(目录可以自行定义)
mkdir -p anaconda_root/envs/my_env
# 解压
tar -xzf my_env.tar.gz -C anaconda_root/envs/my_env
#进入解压目录
cd anaconda_root/envs/my_env
#激活环境
source bin/activate
# 这样就可以直接使用这个环境了
遇到的坑
- 环境打包很慢,一定要确认下载完整了,不然解压一定报错。
- 看看对应的端口有没有打开,外部不能访问就是因为防火墙,附上端口相关操作
# 开启 防火墙
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
参考:
https://www.cnblogs.com/zhang1f/p/18347419
https://blog.csdn.net/qazplm12_3/article/details/108924561