【Python】详析Python虚拟环境管理:conda,pip和virtualenv
创建并使用虚拟环境示例
conda环境的建立、激活、退出、删除示例
conda create -n env python=3.5
conda activate env
conda deactivate
conda remove -n env --all
virtualenv虚拟环境的建立、激活、退出、删除示例
virtualenv -p /home/chong_zhang/.local/python3.5/bin/python3 --no-site-packages env # 建立环境就是建立目录
source ./env/bin/activate
deactivate
rm -r ./env/ # 直接删除建立的目录
最优解
无论Python2还是3,统一用conda建立虚拟环境,在虚拟环境下用python -m pip install numpy
(视情况将python
替换成python2
或python3
)或者conda install numpy
这种方式安装包。(有的时候低版本python面临deprecated的情况,所以一定要这么做。)
注意,同一个conda环境下,所有的包要么全部用conda,要么全部用pip安装。否则在底层依赖发生冲突的情况下,conda无法自动处理冲突。在这里笔者推荐大家所有的包都使用pip安装,因为pip相较conda更灵活,而conda可能会出现一直solving environment最后失败的情况。另外,pip支持通过whl安装,也是其在灵活性上的一大优势。
建议用-r
加文本文件的方式指定自己需要的所有包。但是注意,版本号建议直接指定好,在文本文件上写清楚。
virtualenv已经是脱离时代的东西,一般不建议大家使用。尤其是Python3环境下,virtualenv几乎被完全弃用。
踩过的坑
使用virtualenv搞虚拟环境,缺点是需要指定已经安装的python环境,太麻烦了。以后再不用了。
如果已经用virtualenv建立好了虚拟环境,就用python -m pip install numpy
的方式安装包,这样不会影响外界。
从源码安装不同版本的Python(2或3),可能会出现ssl无效,连不上网的问题。目前不知方法。
转载自:https://juejin.cn/post/7081920279793893406