清空/复制Python环境下的所有安装包
Posted bluishglc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清空/复制Python环境下的所有安装包相关的知识,希望对你有一定的参考价值。
清空
在虚拟环境工具的加持下,清空Python环境下所有安装包的需求并不常见,因为每次新构建的Python环境都是“纯净”的,需要手动清理的场合一般是针对系统Python环境进行的。我们知道,按照最佳实践来说:我们应该总是在一个虚拟的Python环境中工作,哪怕平实运行一些简单的Python脚本和程序,这样可以保证本地Python环境永远是纯净的,没有任何第三方包存在。但有些时候我们会因为忘记进入虚拟环境导致在Python系统环境上安装了依赖包,考虑到Python系统环境的安装比较麻烦,卸载重装并不是明智的选择,可以考虑这样操作(本文在Windows系统上操作):
:: 打印当前环境中已安装的依赖包
pip list
:: 将当前Python环境中安装的所有依赖包导出到文件中
pip freeze > all-modules.txt
:: 如须保留部分包,可以打开all-modules.txt文件,将想要保留的包从文件中删除
:: 根据all-modules.txt提供的软件包列表,逐一卸载
pip uninstall -y -r all-modules.txt
:: 再次打印当前环境中的依赖包
pip list
执行完毕后pip list
输出的应该只有pip,setuptools,wheel三个系统包,至此,当前Python环境将回归初始状态,此时是一个纯净的Python环境!
如果你本地安装了virtualenvwrapper,而移除操作会简单的多,只需要在当前环境下执行:
:: 一键移除当前虚拟环境中的所有依赖包
wipeenv
注意:virtualenvwrapper文档上有该命令,但是Windows下并无此命令,请注意!
复制
上述操作稍加修改就可以用于复制Python环境,只要在导出all-modules.txt文件后切换到新的Python环境,使用pip install -r all-modules.txt
即可完成环境中依赖包的复制。
如果你本地安装了virtualenvwrapper,同样有更简单的环境复制命令:
cpvirtualenv <src_venv_name> <dest_venv_name>
注意:virtualenvwrapper文档上有该命令,但是Windows下并无此命令,请注意!
参考:
https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
以上是关于清空/复制Python环境下的所有安装包的主要内容,如果未能解决你的问题,请参考以下文章
linux环境下的python安装过程(含setuptools)