Pycharm 新建项目时勾选inherit global site-packages 避免重复安装 packages,节省磁盘体积

使用 Pycharm 创建一个新的工程时默认会创建一个虚拟环境。虚拟环境的好处我们这里就不再多说了。 在创建了虚拟环境之后,我们安装的 packages 都会存放在 venv/Lib/site-packages/ 目录下,如果你使用了较多或者较大的packages 的话,这个venv 目录将会占用不少空间。 比如我之前有个项目的 requirements.txt 文件里的内容如下

opencv-python==4.8.0.76
opencv-contrib-python==4.8.0.76
opencv-contrib-python-headless==4.8.0.76
numpy~=1.21.3
scipy==1.7.3

合计占用了 406M 空间。试想一下,如果你有多个项目的话,累计占用的空间是以G 计的。 其实在通过Pycharm 创建虚拟环境时多勾选一个 inherit global site-packages 选项就可以帮我们节省空间,这个选项的意义是让我们当前的项目可以使用系统环境下安装的packages。 在重新创建了勾选给 的venv 后,虚拟环境占用14M,大大减小体积,当然前提是你系统库里面有安装当前项目所需要的packages。

使用命令创建虚拟环境并给予系统packages 使用权限

只需在创建虚拟环境时加上 --system-site-packages 选项:

$  python -m venv --system-site-packages venv3

另外虚拟环境目录下会有个 pyvenv.cfg 文件,其中 include-system-site-packages = true 就代表是否可以使用系统packages,也就是和 --system-site-packages 对应的配置。 注意:不建议将所有的packages 都安装在系统环境下,这样虚拟环境就失去了意义。