1、创建并查看虚拟环境
1、创建虚拟环境
conda create -n py37 python3.7 # 创建一个名称为py37 的Python版本为3.7 的Python虚拟环境
#或
conda create -n py37 --copy y -q python=3.7 numpy pandas scipy # 创建一个名称为py37 的Python环境, -copy 选项将对应的软件包都安装到该环境中,包括一些C的动态链接库文件。同时,下载numpy、pandas、scipy 三个依赖库到该环境中
2、查看已经创建的虚拟环境
conda env list
2、进入虚拟环境
conda activate py37 #
# 进入虚拟环境之后,可以用conda 命令安装需要用到包,都会安装在该虚拟环境中,不会干扰到外面
3、将虚拟Python环境打包
创建好虚拟环境后,进入到环境所在的文件夹,例如环境是 /home/hadoop/anaconda3/envs, cd 到 envs 下,使用打包命令将当前目录下的文件打包成zip包:
cd /home/hadoop/anaconda3/envs # /home/hadoop/anaconda3/ 路径为 anaconda安装路径, envs 为默认的虚拟环境保存路径
zip -r py37.zip py37
注:对于该包的用途,可以解决Pyspark环境加载虚拟python环境从而解决Pyspark环境未安装相关python包的情况,详情请参考pyspark 中使用集群未安装的python三方库:加载虚拟python环境
4、总结
对于工作中使用virtualenv还是借助Anaconda创建虚拟环境,要充分结合自己的任务需求:
- 如果设计虚拟环境迁移或者需要打包加载到Pyspark任务中,则选用Anaconda创建的虚拟环境,但是该方式创建的虚拟环境打包后体积一般较大,即使没有安装太多的python包的情况下。
- 如果是项目仅为了隔离不同开发环境并且python版本基本不变,则建议使用virtualenv创建虚拟环境,该方式简单。
注:对于virtualenv创建的虚拟环境不能应用于Pyspark任务的虚拟python环境的原因参考pyspark 中使用集群未安装的python三方库:加载虚拟python环境
参考: