离线状态迁移Anaconda虚拟环境

同样是项目需求,需要布署的服务器上的Anaconda安装到了普通账户下

而后续所有的内容都需要通过root账户进行操作,而服务器已经布署,联网比较麻烦

本文提出,在无需联网的状态下,转移一下Anaconda的环境

1. 安装 Anaconda

所有的操作最好都用root账户进行

  1. 找到之前下载的Anaconda3-2019.10-Linux-x86_64.sh文件,最好移动到root目录下;

  2. 运行bash Anaconda3-2019.10-Linux-x86_64.sh 进行安装;

    1. 根据相应提示回车即可
    Welcome to Anaconda3 2019.10
    
    In order to continue the installation process, please review the license
    agreement.
    Please, press ENTER to continue
    >>>
    1. 接受许可:yes
    Do you accept the license terms? [yes|no]
    >>> yes
    1. 确定安装路径:回车,选择默认安装路径即可
    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] >>>
    1. 初始化环境:yes
    Do you wish the installer to initialize Anaconda3
    by running conda init? [yes|no]
    [no] >>> yes
    1. 等待安装完成
    Thank you for installing Anaconda3!

    此时,在默认安装路径下出现anaconda3这个文件夹

2. 环境拷贝

所有的操作最好都用root账户进行

假定之前安装的anaconda在/home/username/anaconda3这个目录下

上一步root下安装的anaconda3在/root/anaconda3这个目录下

  1. 进入之前username账户中的安装anaconda3的相应位置,拷贝环境:

    cd /home/username/anaconda3/envs/

  2. 对其中的pytorch目录进行拷贝:

    tar -cvf pytorch.tar pytorch/

  3. 将生成的pytorch.tar文件拷贝至root下安装的anaconda3对应的目录:

    mv ./pytorch.tar /root/anaconda3/envs/

  4. 回到/root/anaconda3/envs/相应目录,对移动到此的pytorch.tar文件进行解压操作

    cd /root/anaconda3/envs/
    tar -xvf pytorch.tar
    # 解压成功,此时envs下多了一个pytorch/目录
  5. 修改root目录下的.bashrc文件

    cd ~
    vim .bashrc
    # 进入.bashrc文件最下方,添加如下内容
    export PATH="/root/anaconda3/envs/pytorch/bin:$PATH"
    # 添加完成后保存退出 # 在终端中运行以下命令,更新
    source ~/.bashrc # 若成功的话应该能看到:
    # 原先为root@...
    # 变为(base)root@...
  6. 测试:

    # 在终端中依次输入:
    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

  1. 修改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)
  2. 删除工程目录中的build文件夹的内容,重新cmake ..make 一下

离线状态迁移Anaconda虚拟环境的更多相关文章

  1. wpf,离线状态下部分功能不可用。

    离线状态下,设置按钮的不可用.通过改变资源字典的值. App.xaml 文件下添加如下 xmlns:sys="clr-namespace:System;assembly=mscorlib&q ...

  2. 使用Anaconda虚拟环境编译caffe-gpu pycaffe

    1. 前提: 安装前服务器情况,已经安装好了: CUDNN=7.3.0 CUDA=10.0.130 Opencv 2.4.13 相应命令为: cuda 版本 cat /usr/local/cuda/v ...

  3. Rhythmk 学习 Hibernate 02 - Hibernate 之 瞬时状态 离线状态 持久化状态 三状态

    by:rhythmk.cnblogs.com 1.Hibernate 三种状态: 1.1.三种定义(个人理解,不一定准确):  瞬时状态(transient):    不被session接管,且不存在 ...

  4. 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)

    如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...

  5. Java多线程之线程的状态迁移

    Java多线程之线程的状态迁移 下图整理了线程的状态迁移.图中的线程状态(Thread.Stat 中定义的Enum 名)NEW.RUNNABLE .TERMINATED.WAITING.TIMED_W ...

  6. Hibernate三种状态:瞬时状态、持久化状态、离线状态

    三种状态及相互转化 瞬时状态(transient):刚new出来一个对象,还没有被保存到数据库中 持久化状态(persistent):已经被保存到数据库中或刚从数据库中取得 离线状态(detached ...

  7. Pytorch安装(基于anaconda虚拟环境)

    Pytorch安装倒腾了一上午终于搞定,记录一下安装过程. 1. 首先尝试官网的安装方式,但是网速太慢了. 除去cudnn100, torchvision和pytorch三个文件,其余可以直接从清华镜 ...

  8. Python离线项目迁移部署

    最近遇到了一个场景:需要将Python项目文件打包到无法联网的主机上部署执行,本篇文章记录针对于该场景的处理方案. 说明: 源主机(可联网):安装了Python3和pip3 目标主机(无法联网):需安 ...

  9. Anaconda 虚拟环境的使用

    目录 前言 1. 创建虚拟环境 2. 虚拟环境管理 3. Conda虚拟环境的包管理 前言 今天把anaconda进行了滚动更新,实体环境python版本也相应从3.6跟新到了3.7.但是问题来了,之 ...

随机推荐

  1. 云效x钉钉:让研发工作更简单

    云效x钉钉:让研发工作更简单,奔走相告,云效&钉钉集成实现组织架构.成员同步以及消息通知啦! 我们知道云效致力于智能化.安全可追溯.高效.简单.灵活,「云效新一代企业级DevOps平台」阿里云 ...

  2. 基于ECDHE的TLS握手流程

    <!doctype html>3.3 基于ECDHE的TLS握手流程 html { overflow-x: initial !important } :root { --bg-color: ...

  3. 快速模式第三包:quick_inR1_outI2()

    快速模式第三包:quick_inR1_outI2() 文章目录 快速模式第三包:quick_inR1_outI2() 1. 序言 2. quick_inR1_outI2()的处理流程 3. 快速模式第 ...

  4. Git:为Git Bash.exe设置默认起始目录的两种方式(start in、~/.bashrc)

    在协作开发的过程中,我们经常要进行一些项目的上传拉取操作. 在无数次不厌其烦的打开关闭 Git Bash 后,我实在忍受不了作为一个程序员还要每次都要进行如下的小白操作了 cd /d/my-proje ...

  5. TypeScript 中命名空间与模块的理解?区别?

    一.模块 TypeScript 与ECMAScript 2015 一样,任何包含顶级 import 或者 export 的文件都被当成一个模块 相反地,如果一个文件不带有顶级的import或者expo ...

  6. apachectl命令

    Linux apachectl命令可用来控制Apache HTTP服务器的程序. apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其 ...

  7. 【OI】Tex Quotes——UVa 272

    题目: TEX is a typesetting language developed by Donald Knuth. It takes source text together with a fe ...

  8. windows 中cmd一些特殊命令

    chcp 65001  就是换成UTF-8代码页 chcp 936 可以换回默认的GBK chcp 437 是美国英语 shutdown -s -t 60   60秒后关机 shutdown /a  ...

  9. Linux系列(15) - man

    简介 查看命令帮助,是个帮助命令 格式 man [选项] 命令 选项 -f:相当于 whatis 命令,查询一个命令执行什么功能,这个命令是什么级别的,并将查询结果打印到终端 -k:相当于 aprop ...

  10. mysql where in 数组解决小tips

    由于sql语法要求,不可在in后面直接连数组,若数组形式下,则需要转换成逗号隔开的字符串 <?php$arr = array(1,2,3,4,5);$arr_string= join(',', ...