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)