在某些情况下,服务器处于离线环境,对于一些python项目来说涉及到环境以及依赖包的问题,解决方法还是挺多的,个人比较喜欢也算是比较省事儿的 还是自己菜 ,就是迁移一个conda的虚拟环境,因此简单记录一下conda的安装、环境的迁移以及一些注意事项。
目录
一、Windows
1.安装
2.创建环境
3.离线环境安装conda并迁移wordcloud
二、Linux
1.安装
2.创建环境
3.环境迁移
三、conda镜像源
四、Anaconda和Miniconda
五、其他
安装还是比较简单的,官网或者清华镜像源上下载安装包,点击安装即可,一路next,到最后的环境变量注意一下即可,安装路径是D:\anaconda3。注意一般在安装Anaconda3/Miniconda3时,不要勾选自动配置环境变量选项,安装完成后手动添加环境变量(前3个路径必须添加到环境变量中):
D:\anaconda3
D:\anaconda3\Scripts
D:\anaconda3\Library\bin
D:\anaconda3\Library\mingw-w64\bin
D:\anaconda3\Library\usr\bin
在有网的环境下,创建一个名为 wordcloud 的虚拟环境,python版本为3.8.13,在这个环境下安装程序或项目需要的包
conda create --name wordcloud python=3.8.13 # 创建环境
# 启动环境
conda activate wordcloud
# 安装依赖包 conda install 包名
# 安装 pandas
conda install pandas
打开文件夹 D:\anaconda3\envs 就可以看到创建的虚拟环境 wordcloud 的文件夹:
不要纠结这里的文件夹是anaconda3还是miniconda3 ,都是conda的环境,因为电脑配置太差,只不过安装的是miniconda。
envs下就是虚拟环境的文件夹,在不同的虚拟环境下安装的包,都只会在对应的环境下存在。
离线环境下conda的安装略。迁移过程比较简单,只需要把 D:\anaconda3\envs\wordcloud 这个文件夹完整复制到离线环境的conda路径下 ..\anaconda3\envs\ 即可
复制成功后使用cmd命令启动终端,使用 conda activate wordcloud 启动环境即可。(第一次安装时,启动环境可能要先使用 activate 命令进入base环境,然后运行conda activate wordcloud 命令才能进入自己创建的虚拟环境中,这个是在Windows server2012服务器中遇到的问题)
安装过程很简单,使用bash Anaconda3-2021.11-Linux-x86_64.sh即可安装。在安装过程中,可以改变安装路径,一般默认 /root/anaconda3 ,最后在设置环境变量时输入no:
# Do you wish the installer to initialize Anaconda3 by running conda init ?
输入 no 回车
安装完成,修改配置文件:vi /etc/profile 在这个文件中写入下面命令
export PATH=/root/anaconda3/bin:$PATH
重新导入配置文件:source /etc/profile
查看是否安装成功:conda --version
和windows一样,直接使用命令 conda create -name wordcloud python=3.8.13
环境迁移和Windows一样,把 /root/anaconda3/envs/wordcloud 文件夹复制到离线环境的 /root/anaconda3/envs 下即可,然后用命令 source activate wordcloud 启动迁移的环境。
注意在Linux下,启动环境时,如果conda activate worcloud 出现bash: conda: 未找到命令... 这种问题时,先运行一下 source /etc/profile。
如果使用 conda activate worcloud 启动环境时出现:
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
建议使用命令 source activate worcloud,原因在后面。。。
一般conda下载包会比较慢,这里推荐一些镜像:
# 添加镜像命令 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
# 删除镜像命令 conda config --remove channels 链接
# 显示所有镜像 conda config --show channels
# 常用的镜像 注意复制时链接最后没有空格
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
Anaconda和Miniconda都是管理python的环境以及依赖包的工具,只不过前者有可视化界面,后者没有界面,需要在黑框框(终端)里敲命令。还有两者依赖的配置也不一样,之前在服务器上装anaconda的时候,2G内存的服务器直接被爆了,后面就几乎不用anaconda了,而且这东西打开一次太费劲了(主要还是电脑拉了)
Linux下启动虚拟环境的时候,会出现这个:
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
如果已经运行了命令 conda init ,服务器就会启动conda的base环境,如果服务器资源不够,会造成一定资源的浪费;这时想要关闭初始环境,需要运行命令:
conda config --set auto_activate_base false
如果想要服务器自启自己创建的虚拟环境呢
修改文件 vi ~/.bashrc
conda activate wordcloud
如果没有运行命令 conda init ,想要启动自己创建的虚拟环境,只要使用命令:
source activate wordcloud