2025.3.9

今天继续进行PaddleX的安装, 在周五,我在最后一次尝试时的报错如下:
(base) C:\Users\jjc18>conda activate paddle

(paddle) C:\Users\jjc18>paddlex --version
'paddlex' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

(paddle) C:\Users\jjc18>E:\ProgramData\Anaconda3\envs\paddle\Scripts\paddlex --version
'E:\ProgramData\Anaconda3\envs\paddle\Scripts\paddlex' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

(paddle) C:\Users\jjc18>pip show paddlex
Name: paddlex
Version: 3.0.0rc0
Summary: Low-code development tool based on PaddlePaddle.
Home-page:
Author: PaddlePaddle Authors
Author-email:
License: Apache 2.0
Location: e:\programdata\anaconda3\envs\paddle\lib\site-packages
Requires: albumentations, chardet, chinese-calendar, colorlog, decord, faiss-cpu, filelock, ftfy, GPUtil, imagesize, jieba, jinja2, langchain, langchain-community, langchain-text-splitters, lxml, matplotlib, networkx, numpy, openai, opencv-contrib-python, opencv-python, opencv-python-headless, openpyxl, pandas, parsley, Pillow, premailer, prettytable, py-cpuinfo, pyclipper, pycocotools, PyMuPDF, pyquaternion, PyYAML, regex, requests, ruamel.yaml, scikit-image, scikit-learn, sentencepiece, shapely, soundfile, tokenizers, tqdm, transformers, ujson, unstructured
Required-by:

我将这些报错复制粘贴给了AI Kimi,Kimi给出的回答如下:

根据您提供的信息,PaddleX 已安装在虚拟环境 `paddle` 中,但命令行无法识别 `paddlex` 命令。这通常是因为 PaddleX 的命令行工具未正确安装或其路径未添加到环境变量中。以下是解决此问题的步骤:

### **步骤 1:确认虚拟环境已激活**
确保您已激活名为 `paddle` 的虚拟环境:
```bash
conda activate paddle
```

### **步骤 2:检查 PaddleX 是否安装在正确路径**
运行以下命令,检查 PaddleX 的安装路径:
```bash
pip show paddlex
```
确认 `Location` 字段显示的路径是否正确,例如:
```
Location: e:\programdata\anaconda3\envs\paddle\lib\site-packages
```

### **步骤 3:检查环境变量**
确保虚拟环境的 `Scripts` 目录已添加到系统的环境变量 `PATH` 中。您可以通过以下命令查看当前的 `PATH`:
```bash
echo %PATH%
```
确保路径中包含类似以下内容:
```
E:\ProgramData\Anaconda3\envs\paddle\Scripts
```

如果没有包含上述路径,您需要手动将其添加到环境变量中。

#### **Windows 系统**
1. 打开“系统属性” > “高级系统设置” > “环境变量”。
2. 在“系统变量”中找到 `Path`,点击“编辑”。
3. 添加路径 `E:\ProgramData\Anaconda3\envs\paddle\Scripts`。
4. 点击“确定”保存更改。

### **步骤 4:重新安装 PaddleX**
如果环境变量配置正确但问题仍然存在,可以尝试重新安装 PaddleX:
```bash
pip uninstall paddlex
pip install paddlex
```

### **步骤 5:验证 `paddlex` 命令**
重新安装后,运行以下命令验证:
```bash
paddlex --version
```

### **步骤 6:使用完整路径运行命令**
如果环境变量未生效,可以使用 `paddlex` 的完整路径运行命令:
```bash
E:\ProgramData\Anaconda3\envs\paddle\Scripts\paddlex --version
```

### **步骤 7:检查 Python 版本**
确保您的 Python 版本与 PaddleX 兼容。运行以下命令检查 Python 版本:
```bash
python --version
```
PaddleX 支持 Python 3.8 及以上版本。

### **总结**
通过上述步骤,您应该能够解决 `paddlex` 命令无法识别的问题。如果问题仍然存在,请提供更多详细信息,以便我进一步协助您。

但是我在将上述步骤一一尝试后发现还是没有用,这时我将在尝试中出现的新的错误交给了Kimi:

(paddle) E:\ProgramData\Anaconda3\envs\paddle\Lib\site-packages\paddlex>pip install -e .
Looking in indexes: https://mirrors.ustc.edu.cn/pypi/web/simple 
Obtaining file:///E:/ProgramData/Anaconda3/envs/paddle/Lib/site-packages/paddlex
ERROR: file:///E:/ProgramData/Anaconda3/envs/paddle/Lib/site-packages/paddlex does not appear to be a Python project: neither 'setup.py' nor 'pyproject.toml' found.

Kimi回答如下:

您在运行 `pip install -e .` 命令时遇到的错误,是因为当前目录不是一个有效的 Python 项目目录。具体来说,您所在的目录 `E:/ProgramData/Anaconda3/envs/paddle/Lib/site-packages/paddlex` 并不是 PaddleX 的源码根目录,因此缺少必要的文件(如 `setup.py` 或 `pyproject.toml`),这些文件是 `pip install -e .` 命令所必需的。

### 解决方法
1. **克隆 PaddleX 源码到合适的位置**:
   不要将 PaddleX 克隆到虚拟环境的 `site-packages` 目录中。而是克隆到一个您方便管理的位置,例如:
   ```bash
   git clone https://gitee.com/paddlepaddle/PaddleX.git C:\Users\jjc18\Projects\PaddleX
   ```

2. **激活虚拟环境**:
   激活名为 `paddle` 的虚拟环境:
   ```bash
   conda activate paddle
   ```

3. **进入 PaddleX 源码目录**:
   进入克隆的 PaddleX 源码目录:
   ```bash
   cd C:\Users\jjc18\Projects\PaddleX
   ```

4. **安装 PaddleX**:
   在源码目录中运行以下命令:
   ```bash
   pip install -e .
   ```

5. **验证安装**:
   运行以下命令验证 PaddleX 是否安装成功:
   ```bash
   paddlex --version
   ```

### 总结
通过上述步骤,您可以在虚拟环境 `paddle` 中成功安装 PaddleX。确保您在源码根目录下运行 `pip install -e .` 命令,而不是在虚拟环境的 `site-packages` 目录中。这样可以避免路径和文件缺失的问题。如果还有其他问题,请随时告诉我!

看着这份回答,我突然想到我在敲写《草莓成熟度检测系统》时,对于YOLOv8模型的utlatlytics框架是直接安装到python程序项目中的,所以PaddleX是不是也同理需要安装到python项目目录下,我直接开始尝试,最终成功安装了PaddleX工具,并使用以下代码进行了初次使用:

from paddlex import create_pipeline

# 创建目标检测产线
pipeline = create_pipeline(pipeline="object_detection")

# 指定输入图像
input_image = "1.jpg"

# 运行推理
output = pipeline.predict([input_image])

# 打印结果
for res in output:
    res.print()
    res.save_to_img("./output/")
    res.save_to_json("./output/")

运行结果如下:

 

posted @ 2025-03-09 22:32  贾贾鱼  阅读(83)  评论(0)    收藏  举报