From 2c5cd57ad477bf1168147216b4affde6452ad881 Mon Sep 17 00:00:00 2001 From: qinglong Date: Sun, 14 Jun 2026 19:02:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20venv=E6=94=B9=E4=B8=BA=E6=87=92=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=EF=BC=8C=E5=85=BC=E5=AE=B9=E5=B5=8C=E5=85=A5=E5=BC=8F?= =?UTF-8?q?CPython=E6=97=A0venv=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 7 +++++++ services/pyenv_manager.py | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 32a4244..68c6d10 100644 --- a/main.py +++ b/main.py @@ -4,9 +4,16 @@ import logging import asyncio import sys +import os as _os import signal import time import argparse + +# 确保项目根目录在 sys.path 中 (嵌入式 CPython / PyPy 需要) +_sys_path_root = _os.path.dirname(_os.path.abspath(__file__)) +if _sys_path_root not in sys.path: + sys.path.insert(0, _sys_path_root) + from services.project_engine import ProjectEngine from services.pyenv_manager import PyEnvManager from services.proxy_service import ProxyService diff --git a/services/pyenv_manager.py b/services/pyenv_manager.py index c58d34e..24482bb 100644 --- a/services/pyenv_manager.py +++ b/services/pyenv_manager.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """SenSu PyEnvManager — Python 版本管理 + venv + 依赖安装""" -import os, sys, subprocess, logging, venv, shutil +import os, sys, subprocess, logging, shutil from pathlib import Path from typing import Optional, List @@ -76,7 +76,8 @@ class PyEnvManager: logger.info(f"创建 venv: {venv_path} (Python {python_version or 'default'})") try: - venv.create(str(venv_path), with_pip=True, clear=True) + import venv as _venv + _venv.create(str(venv_path), with_pip=True, clear=True) # Install/upgrade pip pip = str(venv_path / "bin" / "pip") subprocess.run([pip, "install", "--upgrade", "pip"], capture_output=True, timeout=60)