diff --git a/Dockerfile b/Dockerfile index bd78ec8..98bbd9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,8 +11,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* -# 复制项目配置文件 +# 复制项目配置文件与本地 wheel 依赖 COPY pyproject.toml justfile ./ +COPY vendor/ ./vendor/ # 配置 uv 使用阿里云镜像源 ENV UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/ \ diff --git a/pyproject.toml b/pyproject.toml index 202c8d0..57ccc0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,9 +9,12 @@ dependencies = [ "plotly>=6.5.0", "pandas>=2.0.0", "numpy>=2.0.0", - "pcse @ file:///job/pcse", + "pcse==6.0.12", ] +[tool.uv] +find-links = ["./vendor"] + [[tool.uv.index]] url = "https://mirrors.aliyun.com/pypi/simple" default = true diff --git a/uv.lock b/uv.lock index 3ee691a..1ca3989 100644 --- a/uv.lock +++ b/uv.lock @@ -280,7 +280,7 @@ dependencies = [ requires-dist = [ { name = "numpy", specifier = ">=2.0.0" }, { name = "pandas", specifier = ">=2.0.0" }, - { name = "pcse", directory = "../pcse" }, + { name = "pcse", specifier = "==6.0.12" }, { name = "plotly", specifier = ">=6.5.0" }, { name = "streamlit", specifier = ">=1.52.0" }, ] @@ -494,7 +494,7 @@ wheels = [ [[package]] name = "pcse" version = "6.0.12" -source = { directory = "../pcse" } +source = { registry = "vendor" } dependencies = [ { name = "dotmap" }, { name = "openpyxl" }, @@ -504,16 +504,9 @@ dependencies = [ { name = "requests" }, { name = "traitlets-pcse" }, ] - -[package.metadata] -requires-dist = [ - { name = "dotmap", specifier = ">=1.3" }, - { name = "openpyxl", specifier = ">=3.0" }, - { name = "pandas", specifier = ">=2.0" }, - { name = "pydispatcher", specifier = ">=2.0.7" }, - { name = "pyyaml", specifier = ">=5.1" }, - { name = "requests", specifier = ">=2.0" }, - { name = "traitlets-pcse", specifier = "==5.0.0.dev0" }, +wheels = [ + { path = "pcse-6.0.12-py3-none-any.whl" }, + { path = "pcse-6.0.12-py3-none-any.whl" }, ] [[package]] diff --git a/vendor/.gitignore b/vendor/.gitignore new file mode 100644 index 0000000..d0d2891 --- /dev/null +++ b/vendor/.gitignore @@ -0,0 +1,4 @@ +# 默认忽略 vendor 下的所有内容,但保留 pcse wheel 和本文件 +* +!pcse-6.0.12-py3-none-any.whl +!.gitignore diff --git a/vendor/pcse-6.0.12-py3-none-any.whl b/vendor/pcse-6.0.12-py3-none-any.whl new file mode 100644 index 0000000..86ba76f Binary files /dev/null and b/vendor/pcse-6.0.12-py3-none-any.whl differ