From d962def6f063fbeae9671206077ea69e58163294 Mon Sep 17 00:00:00 2001 From: json1c <48158038+json1c@users.noreply.github.com> Date: Mon, 23 Jun 2025 22:44:16 +0300 Subject: [PATCH] fix: work with pip in venv --- heroku/modules/loader.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/heroku/modules/loader.py b/heroku/modules/loader.py index d13b6c7..90b8e34 100644 --- a/heroku/modules/loader.py +++ b/heroku/modules/loader.py @@ -15,9 +15,9 @@ import ast import asyncio import contextlib +import difflib import functools import importlib -import difflib import inspect import io import logging @@ -33,10 +33,10 @@ from importlib.machinery import ModuleSpec from urllib.parse import urlparse import requests +from herokutl.errors.common import ScamDetectionError from herokutl.errors.rpcerrorlist import MediaCaptionTooLongError from herokutl.tl.functions.channels import JoinChannelRequest from herokutl.tl.types import Channel, Message, PeerUser -from herokutl.errors.common import ScamDetectionError from .. import loader, main, utils from .._local_storage import RemoteStorage @@ -662,6 +662,9 @@ class LoaderMod(loader.Module): ), ) + is_venv = hasattr(sys, 'real_prefix') or sys.prefix != getattr(sys, 'base_prefix', sys.prefix) + need_user_flag = loader.USER_INSTALL and not is_venv + pip = await asyncio.create_subprocess_exec( sys.executable, "-m", @@ -671,7 +674,7 @@ class LoaderMod(loader.Module): "-q", "--disable-pip-version-check", "--no-warn-script-location", - *["--user"] if loader.USER_INSTALL else [], + *["--user"] if need_user_flag else [], *requirements, )