119 lines
3.4 KiB
Markdown
119 lines
3.4 KiB
Markdown
要将打包后的应用程序在其他 Python 环境中安装,可以执行以下步骤:
|
||
|
||
|
||
|
||
### 1. 创建安装包并上传到 PyPI(可选)
|
||
|
||
|
||
|
||
如果你不想上传到 PyPI,可以直接跳过此步骤,直接创建安装包并手动分发。
|
||
|
||
|
||
|
||
### 2. 构建分发包
|
||
|
||
|
||
|
||
你可以使用 `build` 工具来创建一个源码分发包(`sdist`)和一个 Wheel 分发包(`bdist_wheel`)。
|
||
|
||
|
||
|
||
首先,确保你已经安装了 `build` 工具:
|
||
|
||
```sh
|
||
|
||
pip install build
|
||
|
||
```
|
||
|
||
|
||
|
||
然后,在项目根目录下运行以下命令来构建分发包:
|
||
|
||
```sh
|
||
|
||
python -m build
|
||
|
||
```
|
||
|
||
|
||
|
||
这将在项目根目录下生成一个 `dist` 目录,里面包含 `.tar.gz` 和 `.whl` 文件,这些就是你的分发包。
|
||
|
||
|
||
|
||
### 3. 在目标环境中安装分发包
|
||
|
||
|
||
|
||
你可以将分发包(`.tar.gz` 或 `.whl` 文件)复制到目标环境机器上,然后使用 `pip` 安装:
|
||
|
||
|
||
|
||
```sh
|
||
|
||
pip install path/to/your-package.whl
|
||
|
||
```
|
||
|
||
|
||
|
||
或者:
|
||
|
||
```sh
|
||
|
||
pip install path/to/your-package.tar.gz
|
||
|
||
```
|
||
|
||
|
||
|
||
### 详细步骤示例
|
||
|
||
|
||
|
||
假设你的项目目录结构如下:
|
||
|
||
```
|
||
|
||
llmclipboard/
|
||
|
||
├── llmclipboard/
|
||
|
||
│ ├── __init__.py
|
||
|
||
│ ├── app.py
|
||
|
||
├── config.ini
|
||
|
||
├── README.md
|
||
|
||
├── pyproject.toml
|
||
|
||
```
|
||
|
||
|
||
|
||
### 项目打包
|
||
|
||
|
||
|
||
确保 `pyproject.toml` 文件如下配置:
|
||
|
||
```toml project/llmclipboard/pyproject.toml
|
||
|
||
[project]
|
||
|
||
name = "llmclipboard"
|
||
|
||
version = "0.1.0"
|
||
|
||
description = "A text capture tool for saving formatted text from clipboard to markdown files."
|
||
|
||
readme = "README.md"
|
||
|
||
requires-python = ">=3.10"
|
||
|
||
dependencies = [
|
||
|
||
"pynput",
|
||
|
||
"pywin32",
|
||
|
||
"html2text",
|
||
|
||
"keyboard",
|
||
|
||
"configparser",
|
||
|
||
"logging"
|
||
|
||
]
|
||
|
||
|
||
|
||
[project.scripts]
|
||
|
||
llmclipboard = "llmclipboard.app:main"
|
||
|
||
```
|
||
|
||
|
||
|
||
### 构建分发包
|
||
|
||
|
||
|
||
在项目根目录下运行以下命令:
|
||
|
||
```sh
|
||
|
||
python -m build
|
||
|
||
```
|
||
|
||
|
||
|
||
这将在项目根目录下生成一个 `dist` 目录,里面包含构建好的分发包, 如:
|
||
|
||
|
||
|
||
```
|
||
|
||
dist/
|
||
|
||
│── llmclipboard-0.1.0.tar.gz
|
||
|
||
│── llmclipboard-0.1.0-py3-none-any.whl
|
||
|
||
```
|
||
|
||
|
||
|
||
### 在目标环境中安装
|
||
|
||
|
||
|
||
你可以将这些分发包文件复制到目标环境的机器上,然后运行以下命令进行安装:
|
||
|
||
|
||
|
||
```sh
|
||
|
||
pip install llmclipboard-0.1.0-py3-none-any.whl
|
||
|
||
```
|
||
|
||
|
||
|
||
或者安装源码分发包:
|
||
|
||
|
||
|
||
```sh
|
||
|
||
pip install llmclipboard-0.1.0.tar.gz
|
||
|
||
```
|
||
|
||
|
||
|
||
### 使用打包后的应用
|
||
|
||
|
||
|
||
安装完成后,在目标环境的命令行中运行以下命令启动应用程序:
|
||
|
||
|
||
|
||
```sh
|
||
|
||
llmclipboard
|
||
|
||
```
|
||
|
||
|
||
|
||
### 注意事项
|
||
|
||
|
||
|
||
1. **配置文件路径**:在目标环境中,配置文件 `config.ini` 应该与应用程序一起分发,可以通过如下方式确保应用知道配置文件的位置:
|
||
|
||
- 可以在程序启动时通过环境变量或命令行参数指定配置文件路径。
|
||
|
||
- 修改代码,让应用在启动时在相对路径或用户目录下寻找配置文件。
|
||
|
||
|
||
|
||
2. **依赖安装**:确保目标环境已经安装所有依赖包。部署时可以为目标环境创建一个新的虚拟环境,然后在其中安装应用分发包。
|
||
|
||
|
||
|
||
3. **适配不同平台**:考虑到 Python 环境可能跨多个操作系统,确保在不同平台上进行足够的测试,尤其是涉及到特定平台的库(如 `pywin32`)。
|
||
|
||
|
||
|
||
通过以上步骤,你可以在其他 Python 环境中安装和运行打包后的应用程序。 |