Anaconda虚拟环境离线迁移(无网环境)

本文详细介绍了如何在无网络环境下,通过VMware部署RHEL虚拟机,并使用Xshell通过FTP传输文件。接着讲解了Anaconda在Linux上的安装,特别是~符号和.bashrc文件的作用。在磁盘空间不足的情况下,尝试扩展磁盘未果,选择重新安装虚拟机。最后,阐述了如何打包和迁移Anaconda环境,以及添加激活环境的快捷方式。

安装虚拟机

Deploying a Red Hat Enterprise Linux 7 (RHEL7) on VirtualBox

https://docs.vmware.com/en/VMware-Workstation-Pro/15.0/com.vmware.ws.using.doc/GUID-3F6B9D0E-6CFC-4627-B80B-9A68A5960F60.html

使用VMware推荐的经典简易安装方式,为RHEL7.2预留了8G硬盘和2G memory

在虚拟机中新建一个目标环境用来测试迁移,目标环境是 RHEL7.4,为了增加难度在模拟迁移中,在虚拟机新建 RHEL7.2,过程中遇到报错:

无法打开配置文件“D:\VMware\RHEL7.2\Red Hat Enterprise Linux 7.2.vmx”: 拒绝访问。

再次使用管理员权限打开VMware成功解决。

文件传输

虚拟机安装完成后第一件事就是将win10中的文件放入虚拟机中,尝试了共享文件但失败了,改用Xshell连接虚拟机,使用FTP传输文件。

RHEL中 ipconfig查看虚拟机ip,输入账户密码后成功登录,进行文件传输。

安装anaconda

Installing Anaconda on Linux

  1. $ bash ....sh
    1. Bash is a Unix shell and command language which can run Shell Script files.
  2. The installer prompts “Do you wish the installer to initialize Anaconda3 by running conda init?” We recommend “yes”. Installing on Linux
cd ~
source .bashrc

~

The ~ (tilde) is a quick way of specifying your home directory. A home directory is the directory or folder commonly given to a user on a network or Unix or Linux variant operating system. With the home directory the user can store all their personal information, files, login scripts, and user information. With a Linux web server, the home directory is also where you'd find the public_html directory containing all files used for a website.

.bashrc

Ever Wonder Why it's Called .bashrc?

In our various wanderings around the Linux file system, we have encountered files with names that end with the mysterious suffix "rc" like .bashrc.vimrc, etc. Heck, many distributions have a bunch of directories in /etc named rc. Why is that? It's a holdover from ancient Unix. Its original meaning was "run commands," but it later became "run-control." A run-control file is generally some kind of script or configuration file that prepares an environment for a program to use. In the case of .bashrc for example, it's a script that prepares a user's bash shell environment.

如果你运行一个基于 Unix 或者类 Unix 的操作系统,bash 很有可能是作为默认终端被安装的。虽然存在很多不同的 shell,bash 却是最常见或许也是最主流的。如果你不明白那意味着什么,bash 是一个能解释你输入进终端程序的东西,并且基于你的输入来运行命令。它在一定程度上支持使用脚本来定制功能,这时候就要用到 .bashrc 了。

为了加载你的配置,bash 在每次启动时都会加载 .bashrc 文件的内容。每个用户的 home 目录都有这个 shell 脚本。它用来存储并加载你的终端配置和环境变量。

source

source、sh、bash、./对比命令

什么是 .bashrc,为什么要编辑 .bashrc?

突发!磁盘满了

查看磁盘空间

df

扩张磁盘空间

VMware下linux扩展磁盘容量

并不知道root用户的密码

Reset the root user password on rhel7 xcentos7 x

改了个寂寞,并没有成功改变root密码,到目前为止操作变得复杂起来,还是重新装一个虚拟机吧。

Moving Anaconda Enverironment

Moving Conda Environments

打包环境

$ pip install conda-pack

# Pack environment my_env into out_name.tar.gz
$ conda pack -n my_env -o out_name.tar.gz

ps. 打包的时候一定要指定输出文件类型为.tar.gz

安装环境

# Unpack environment into directory `my_env`
$ mkdir -p my_env
$ tar -xzf my_env.tar.gz -C my_env

# Use Python without activating or fixing the prefixes. Most Python
# libraries will work fine, but things that require prefix cleanups
# will fail.
$ ./my_env/bin/python

# Activate the environment. This adds `my_env/bin` to your path
$ source my_env/bin/activate

# Run Python from in the environment
(my_env) $ python

# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of Python is already installed on the machine.
(my_env) $ conda-unpack

添加激活环境快捷键

通过vim ~/.bash_profile,向里面添加alias activeEnv='source /home/my_env/bin/activate',source ~/.bash_profile之后可以直接在命令行输入activeEnv激活相应环境
conda创建新环境

### Windows Python 环境迁移方法 #### 方法一:基于 `venv` 的手动复制 当使用标准的 Python 虚拟环境 (`venv`) 时,可以通过以下方式实现迁移: 1. **导出依赖列表** 使用 `pip freeze` 命令生成当前环境中已安装库的清单文件 `requirements.txt`。这一步可以确保目标机器能够重新构建相同的依赖关系。 ```bash pip freeze > requirements.txt ``` 2. **复制虚拟环境文件夹** 将源计算机中的虚拟环境文件夹(通常命名为 `venv` 或 `.venv`)完整地复制到目标计算机。 3. **重建虚拟环境** 在目标计算机上,进入项目的根目录并运行以下命令来重新创建虚拟环境以及安装所需的依赖项。 ```bash python -m venv venv .\venv\Scripts\activate pip install -r requirements.txt ``` 此过程适用于简单的项目场景,但对于复杂依赖可能不够稳定[^2]。 --- #### 方法二:利用 Conda Pack 实现整体迁移 对于更复杂的科学计算或数据处理类应用,推荐采用 Anaconda/Miniconda 配合 `conda-pack` 工具完成跨系统的环境迁移: 1. **安装 conda-pack** 如果尚未安装该工具,则需先执行如下操作: ```bash conda install conda-pack ``` 2. **打包现有环境** 执行下面的指令以压缩指定名称的 Conda 环境成单个归档文件: ```bash conda pack -n your_env_name -o env_archive.tar.gz ``` 3. **传输档案至新设备** 可借助 SCP、FTP 或其他手段将上述生成的 `.tar.gz` 文件传送到目的主机。 4. **解压恢复环境** 到达目的地后,在适当路径下展开存档内容,并激活它作为常规 Conda 环境的一部分。 ```bash mkdir -p ~/your_new_env_path && tar -xzf env_archive.tar.gz -C ~/your_new_env_path/ source ~/your_new_env_path/bin/activate ``` 这种方法特别适合于那些具有大量外部扩展模块或者特定编译需求的应用程序[^4]。 --- #### 方法三:离线环境下批量下载所需软件包 如果目标系统无法连接互联,则需要提前准备好所有的必需组件及其子依赖项: 1. **收集所有必要的 wheel 文件** 在具备络访问权限的工作站上预先获取这些资源并将它们存储在一个集中式的仓库中。 ```bash pip download -r requirements.txt --dest ./offline_packages/ ``` 2. **上传至无区域内的服务器** 把刚才建立起来的那个包含全部 whl 文件在内的资料夹移动过去。 3. **实施本地化部署流程** 接下来只需切换到那个存放着预载好的 wheels 的地方即可启动安装进程。 ```bash pip install --no-index --find-links=./offline_packages/ -r requirements.txt ``` 这种方式虽然繁琐一点,但在完全隔离的情况下非常有效[^3]。 --- ### 总结 以上介绍了三种主要针对不同情况设计出来的解决方案——简单易行的标准库管理方案;功能强大且兼容性强的 Conda 生态圈支持下的自动化打包技术;还有就是面对极端条件所采取的手动准备策略。每种都有其适用范围,请根据实际状况选取最合适的那一种来进行实践尝试吧!
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值