modified: README.md

new file:   dependence.py
	new file:   package.py
	new file:   packup.bat
	new file:   packup.sh
	new file:   requirements.txt
	new file:   scripts/__init__.py
	new file:   scripts/file_store_api.py
	new file:   src/__init__.py
	new file:   src/config.toml
	new file:   src/modules/__init__.py
	new file:   src/modules/plugin_modules.py
	new file:   src/modules/user_module.py
	new file:   src/process.py
	new file:   test.py
This commit is contained in:
JianFeeeee
2025-08-13 22:43:25 +08:00
parent 30be06cefb
commit f787218e51
15 changed files with 760 additions and 2 deletions

87
dependence.py Normal file
View File

@ -0,0 +1,87 @@
#!/usr/bin/env python3
import os
import sys
import shutil
import subprocess
from pathlib import Path
def check_requirements_file(requirements_file="requirements.txt"):
"""检查 requirements.txt 是否存在"""
if not os.path.exists(requirements_file):
print(f"❌ 错误:未找到 {requirements_file}!请确保它在当前目录。")
print(f"👉 生成 requirements.txt 的方法:`pip freeze > requirements.txt`")
sys.exit(1)
def install_deps_to_folder(
requirements_file="requirements.txt",
target_dir="package",
upgrade=True,
no_deps=False
):
"""
安装依赖到目标文件夹
:param requirements_file: 依赖文件路径
:param target_dir: 目标目录(默认 package
:param upgrade: 是否更新已安装的包
:param no_deps: 是否跳过依赖包(仅安装直接依赖)
"""
target_path = Path(target_dir).resolve()
# 1. 如果目标文件夹已存在,提醒用户确认覆盖
if target_path.exists():
print(f"⚠️ 警告:目标文件夹 {target_path} 已存在!")
choice = input("是否删除并重建?(y/N) ").strip().lower()
if choice != "y":
print("⏹ 用户取消操作")
return False
shutil.rmtree(target_path)
target_path.mkdir(parents=True)
# 2. 构造 pip 安装命令
pip_cmd = [
sys.executable, "-m", "pip", "install",
"-r", requirements_file,
"--target", str(target_path),
]
if upgrade:
pip_cmd.append("--upgrade")
if no_deps:
pip_cmd.append("--no-deps")
# 3. 执行安装
print(f"\n📦 正在安装依赖到 {target_path} ...")
result = subprocess.run(pip_cmd, capture_output=True, text=True)
if result.returncode != 0:
print("\n❌ 安装失败!错误信息:")
print(result.stderr)
return False
# 4. 成功时打印提示
print("\n✅ 安装成功!依赖已保存到:")
print(f"{target_path}\n")
# 5. 打印后续使用说明
return True
def main():
check_requirements_file()
dir = "src"
dir = os.path.join(dir,"packages")
install_success = install_deps_to_folder(
requirements_file="requirements.txt",
target_dir=dir,
upgrade=True,
no_deps=False, # 设为 True 仅安装直接依赖
)
if install_success:
# 检查是否安装了 pip 依赖
package_size = sum(f.stat().size for f in Path("package").glob("**/*") if f.is_file())
print(f"📂 安装大小: {package_size / 1024 / 1024:.2f} MB")
else:
print("\n❌ 安装失败!请检查报错信息。")
if __name__ == "__main__":
main()