离线状态迁移Anaconda虚拟环境
离线状态迁移Anaconda虚拟环境
同样是项目需求,需要布署的服务器上的Anaconda安装到了普通账户下
而后续所有的内容都需要通过root账户进行操作,而服务器已经布署,联网比较麻烦
本文提出,在无需联网的状态下,转移一下Anaconda的环境
1. 安装 Anaconda
所有的操作最好都用root账户进行
找到之前下载的
Anaconda3-2019.10-Linux-x86_64.sh
文件,最好移动到root目录下;运行
bash Anaconda3-2019.10-Linux-x86_64.sh
进行安装;- 根据相应提示回车即可
Welcome to Anaconda3 2019.10 In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
- 接受许可:yes
Do you accept the license terms? [yes|no]
>>> yes
- 确定安装路径:回车,选择默认安装路径即可
Anaconda3 will now be installed into this location:
/root/anaconda3 - Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below [/root/anaconda3] >>>
- 初始化环境:yes
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
- 等待安装完成
Thank you for installing Anaconda3!
此时,在默认安装路径下出现
anaconda3
这个文件夹
2. 环境拷贝
所有的操作最好都用root账户进行
假定之前安装的anaconda在
/home/username/anaconda3
这个目录下上一步root下安装的anaconda3在
/root/anaconda3
这个目录下
进入之前username账户中的安装anaconda3的相应位置,拷贝环境:
cd /home/username/anaconda3/envs/
对其中的pytorch目录进行拷贝:
tar -cvf pytorch.tar pytorch/
将生成的
pytorch.tar
文件拷贝至root下安装的anaconda3对应的目录:mv ./pytorch.tar /root/anaconda3/envs/
回到
/root/anaconda3/envs/
相应目录,对移动到此的pytorch.tar
文件进行解压操作cd /root/anaconda3/envs/
tar -xvf pytorch.tar
# 解压成功,此时envs下多了一个pytorch/目录
修改root目录下的
.bashrc
文件cd ~
vim .bashrc
# 进入.bashrc文件最下方,添加如下内容
export PATH="/root/anaconda3/envs/pytorch/bin:$PATH"
# 添加完成后保存退出 # 在终端中运行以下命令,更新
source ~/.bashrc # 若成功的话应该能看到:
# 原先为root@...
# 变为(base)root@...
测试:
# 在终端中依次输入:
conda activate pytorch
# 进入python环境
python
>>> import torch
>>> torch.cuda.is_available()
True # 结果为true则说明迁移成功
>>> exit()
注意:(补充内容,后续发现了新的问题,补充说明)
迁移之后,若输入
pip3 list / pip list
,即查看安装包命令时,会出现如下错误:(torch) zcc@ubuntu-C246-WU4:~/anaconda3/envs$ pip list
-bash: /home/zcc/anaconda3/envs/torch/bin/pip: /home/sxj/miniconda3/envs/torch/bin/python: 解释器错误: 没有那个文件或目录
解决方式:
# 1.进入文件
(torch) zcc@ubuntu-C246-WU4:~$ vim /home/zcc/anaconda3/envs/torch/bin/pip # 2.将文件第一行修改为自己的地址
# 原先:
#!/home/sxj/miniconda3/envs/torch/bin/python
# 修改为:
#!/home/zcc/anaconda3/envs/torch/bin/python
# 修改成功后保存退出 # 3. 修改完后你会发现无法clear了,如下
(torch) zcc@ubuntu-C246-WU4:~$ clear
terminals database is inaccessible
# 解决:
(torch) zcc@ubuntu-C246-WU4:~$ export TERMINFO=/usr/share/terminfo
# 然后重连一下ssh,即可
同理,修改pip3的话将pip改为pip3即可
3. 修改对应的配置文件
假定目前的root下安装的anaconda路径为:
/root/anaconda3
修改CMakeLists.txt文件
# 第一处修改:
# 原:
include_directories(/home/username/anaconda3/envs/pytorch/include/python3.6m)
# 修改为:
include_directories(/root/anaconda3/envs/pytorch/include/python3.6m) # 第二处修改:在CmakeLists文件的最后
# 原:
/home/username/anaconda3/envs/pytorch/lib/libpython3.6m.so)
# 修改为:
/root/anaconda3/envs/pytorch/lib/libpython3.6m.so)
删除工程目录中的build文件夹的内容,重新
cmake ..
后make
一下
离线状态迁移Anaconda虚拟环境的更多相关文章
- wpf,离线状态下部分功能不可用。
离线状态下,设置按钮的不可用.通过改变资源字典的值. App.xaml 文件下添加如下 xmlns:sys="clr-namespace:System;assembly=mscorlib&q ...
- 使用Anaconda虚拟环境编译caffe-gpu pycaffe
1. 前提: 安装前服务器情况,已经安装好了: CUDNN=7.3.0 CUDA=10.0.130 Opencv 2.4.13 相应命令为: cuda 版本 cat /usr/local/cuda/v ...
- Rhythmk 学习 Hibernate 02 - Hibernate 之 瞬时状态 离线状态 持久化状态 三状态
by:rhythmk.cnblogs.com 1.Hibernate 三种状态: 1.1.三种定义(个人理解,不一定准确): 瞬时状态(transient): 不被session接管,且不存在 ...
- 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)
如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...
- Java多线程之线程的状态迁移
Java多线程之线程的状态迁移 下图整理了线程的状态迁移.图中的线程状态(Thread.Stat 中定义的Enum 名)NEW.RUNNABLE .TERMINATED.WAITING.TIMED_W ...
- Hibernate三种状态:瞬时状态、持久化状态、离线状态
三种状态及相互转化 瞬时状态(transient):刚new出来一个对象,还没有被保存到数据库中 持久化状态(persistent):已经被保存到数据库中或刚从数据库中取得 离线状态(detached ...
- Pytorch安装(基于anaconda虚拟环境)
Pytorch安装倒腾了一上午终于搞定,记录一下安装过程. 1. 首先尝试官网的安装方式,但是网速太慢了. 除去cudnn100, torchvision和pytorch三个文件,其余可以直接从清华镜 ...
- Python离线项目迁移部署
最近遇到了一个场景:需要将Python项目文件打包到无法联网的主机上部署执行,本篇文章记录针对于该场景的处理方案. 说明: 源主机(可联网):安装了Python3和pip3 目标主机(无法联网):需安 ...
- Anaconda 虚拟环境的使用
目录 前言 1. 创建虚拟环境 2. 虚拟环境管理 3. Conda虚拟环境的包管理 前言 今天把anaconda进行了滚动更新,实体环境python版本也相应从3.6跟新到了3.7.但是问题来了,之 ...
随机推荐
- noip模拟37
\(\color{white}{\mathbb{燕子来时青尚在,木荫遥看杏花菲,名之以:杏红}}\) 考场发现 \(t2\) 基本上是原题,\(t3\) 的套路见过,\(t4\) 像是并查集之类的算法 ...
- [考试总结]noip模拟47
感觉自己放弃题目还是过于容易. 其实第一题不是很难,但是自己拿了一个暴力就走人了.. 然后其实简单优化一下子就有不少分数. 然后第二题的本质不同的子序列个数的方程没有推出来,如果推出来就会直接有 \( ...
- Mysql常用sql语句(6)- limit 限制查询结果的条数
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 实际工作中,我们的数据表数据肯定都是万级别的,如 ...
- Identity基于角色的访问授权
详情访问官方文档 例如,以下代码将访问权限限制为属于角色成员的用户的任何操作 AdministrationController Administrator : [Authorize(Roles = & ...
- C# Dapper基本三层架构使用 (四、Web UI层)
三层架构的好处,一套代码无论WinForm还是Web都可以通用,只写前台逻辑就可以了,现在展示Web调用三层的示例 首先在项目中创建一个Web MVC5项目,目前项目目录如下 在Web项目Web.co ...
- table头部固定,内容滚动,类似新闻一下向上滚动
html: <div class="ul_box"> <table class="table1"> <thead> < ...
- vue 输入框内容控制
只能输入数字 <el-input onkeyup="value=value.replace(/[^\d]/g,'')" v-model.number="a" ...
- LVS+keepalived集群
一.Keepalived工具介绍专为LVS和HA设计的一款健康检查工具 支持故障自动切换(Failover) 支持节点健康状态检查(Health Checking) 官方网站:http://www.k ...
- Lambda函数接口和方法构造器应用
函数式接口 什么是函数式接口? 在java中'有且仅有一个抽象方法的接口',就称为函数式接口. 可以通过Lambda表达式来创建该接口的对象.(若Lambda表达式抛出一个受检异常,那么该异常需要在目 ...
- PTA 面向对象程序设计 6-1 引用作函数形参交换两个整数
引用作函数形参交换两个整数 设计一个void类型的函数Swap,该函数有两个引用类型的参数,函数功能为实现两个整数交换的操作. 裁判测试程序样例: #include <iostream> ...