Install a Python package in a virtual environment
()
| 14467 | # Python Environment Management Endpoints |
| 14468 | @app.route("/api/python/install", methods=["POST"]) |
| 14469 | def install_python_package(): |
| 14470 | """Install a Python package in a virtual environment""" |
| 14471 | try: |
| 14472 | params = request.json |
| 14473 | package = params.get("package", "") |
| 14474 | env_name = params.get("env_name", "default") |
| 14475 | |
| 14476 | if not package: |
| 14477 | return jsonify({"error": "Package name is required"}), 400 |
| 14478 | |
| 14479 | logger.info(f"📦 Installing Python package: {package} in env {env_name}") |
| 14480 | success = env_manager.install_package(env_name, package) |
| 14481 | |
| 14482 | if success: |
| 14483 | return jsonify({ |
| 14484 | "success": True, |
| 14485 | "message": f"Package {package} installed successfully", |
| 14486 | "env_name": env_name |
| 14487 | }) |
| 14488 | else: |
| 14489 | return jsonify({ |
| 14490 | "success": False, |
| 14491 | "error": f"Failed to install package {package}" |
| 14492 | }), 500 |
| 14493 | |
| 14494 | except Exception as e: |
| 14495 | logger.error(f"💥 Error installing Python package: {str(e)}") |
| 14496 | return jsonify({"error": f"Server error: {str(e)}"}), 500 |
| 14497 | |
| 14498 | @app.route("/api/python/execute", methods=["POST"]) |
| 14499 | def execute_python_script(): |
nothing calls this directly
no test coverage detected