python 虚拟环境继承系统 packages


Date: 2023-08-25


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 都安装在系统环境下,这样虚拟环境就失去了意义。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您遇到的问题是进入Python虚拟环境失败。您可以按照以下步骤来解决这个问题: 1. 首先,请确保您已经安装了虚拟环境工具,例如virtualenv 或者venv。您可以通过在终端中输入以下命令来检查是否已经安装这些工具: ``` virtualenv --version ``` 或者 ``` python3 -m venv --version ``` 如果显示版本号,则说明已经安装了相应的工具,否则请先安装它们。 2. 接下来,请在您的项目目录下创建一个新的虚拟环境。例如,如果您要创建一个名为venv虚拟环境,请在终端中输入以下命令: ``` virtualenv venv ``` 或者 ``` python3 -m venv venv ``` 这将在当前目录下创建一个名为venv的新的虚拟环境。 3. 然后,请激活这个虚拟环境。例如,在Linux或MacOS中,您可以在终端中输入以下命令: ``` source venv/bin/activate ``` 在Windows中,您可以在命令提示符中输入以下命令: ``` venv\Scripts\activate ``` 如果一切正常,您应该会看到终端的命令提示符前面出现了(venv)字样,这表示虚拟环境已经激活成功。 4. 最后,请尝试重新进入Python虚拟环境。如果您使用的是virtualenv,可以在终端中输入以下命令: ``` virtualenv --no-site-packages --distribute .env && source .env/bin/activate ``` 如果您使用的是venv,请在终端中输入以下命令: ``` python3 -m venv .env && source .env/bin/activate ``` 这将重新进入Python虚拟环境。 如果您按照以上步骤尝试还是无法进入Python虚拟环境,可以尝试搜索相关的解决方案或者请提供更多详细的错误信息以便更好的解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值