Installing collected packages: pip WARNING: The scripts pip, pip3 and pip3.8 are installed in '/home/liyuxuan/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-25.0.1 + '[' '' == true ']' + '[' focal == lunar ']' + '[' focal == mantic ']' + pip3 install --user -U future lxml pymavlink pyserial MAVProxy pexpect geocoder empy==3.3.4 ptyprocess dronecan flake8 junitparser pygame intelhex /usr/bin/pip3:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import load_entry_point Collecting future Using cached future-1.0.0-py3-none-any.whl (491 kB) Collecting lxml Using cached lxml-5.3.1-cp38-cp38-manylinux_2_28_x86_64.whl (5.1 MB) Collecting pymavlink Using cached pymavlink-2.4.43-py3-none-any.whl (11.9 MB) Collecting pyserial Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB) ERROR: Exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 186, in _main status = self.run(options, args) File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 357, in run resolver.resolve(requirement_set) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 177, in resolve discovered_reqs.extend(self._resolve_one(requirement_set, req)) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 333, in _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) File "/usr/lib/python3/dist-packages/pip/_internal/legacy_resolve.py", line 281, in _get_abstract_dist_for req.populate_link(self.finder, upgrade_allowed, require_hashes) File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 249, in populate_link self.link = finder.find_requirement(self, upgrade) File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 898, in find_requirement best_candidate_result = self.find_best_candidate( File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 881, in find_best_candidate candidates = self.find_all_candidates(project_name) File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 825, in find_all_candidates package_links = self.process_project_url( File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 797, in process_project_url package_links = self.evaluate_links( File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 779, in evaluate_links candidate = self.get_install_candidate(link_evaluator, link) File "/usr/lib/python3/dist-packages/pip/_internal/index/package_finder.py", line 764, in get_install_candidate return InstallationCandidate( File "/usr/lib/python3/dist-packages/pip/_internal/models/candidate.py", line 18, in __init__ self.version = parse_version(version) # type: _BaseVersion File "/home/liyuxuan/.local/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py", line 56, in parse return Version(version) File "/home/liyuxuan/.local/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py", line 202, in __init__ raise InvalidVersion(f"Invalid version: '{version}'") packaging.version.InvalidVersion: Invalid version: '1.0.3.linux-x86_64'
时间: 2025-04-03 20:14:32 浏览: 123
<think>嗯,用户遇到了在安装某些Python包时出现的错误。首先,我需要仔细看一下错误信息。用户运行了pip3 install命令,安装一堆包,但遇到了ERROR: Exception,然后是一堆Traceback。错误信息的关键点在最后:packaging.version.InvalidVersion: Invalid version: '1.0.3.linux-x86_64'。看起来是版本号解析出了问题。
首先,这个错误通常是因为某个包的版本号不符合PEP 440规范,导致pip无法正确解析。版本号中的.linux-x86_64部分可能不符合规范,所以被识别为无效。需要确定是哪个包导致的这个问题。但用户提供的错误日志里,在Collecting部分列出的包有future、lxml、pymavlink、pyserial等,但在ERROR之前没有显示具体是哪个包引发了问题。可能需要用户提供更完整的日志,但根据现有信息推测,可能是某个依赖包的版本号有问题。
接下来,用户的日志中还显示了一个警告,关于pip脚本未在PATH中。这可能导致用户后续使用pip时出现问题,比如找不到命令。需要提醒用户将/home/liyuxuan/.local/bin添加到PATH环境变量中,可以通过修改.bashrc或.profile文件,或者临时导出PATH。
另外,用户使用的pip版本是25.0.1,而最新的pip可能已经修复了一些问题,但这里的问题可能不是pip本身的问题,而是某个包的版本格式错误。不过,也有可能用户的pip或setuptools版本过旧,导致无法正确处理某些版本号。不过根据错误信息中的路径,用户可能已经升级了pip,但setuptools可能还是旧版本,或者存在冲突。
解决方案方面,可能需要先处理PATH警告,然后解决版本号问题。对于PATH问题,建议用户执行export PATH=$PATH:/home/liyuxuan/.local/bin,或者永久添加。然后,针对版本错误,可以尝试更新setuptools和pip,确保它们是最新的,因为新版本可能更兼容。如果问题依旧,可能需要找到具体的包,检查其版本号是否符合规范,或者尝试指定其他版本安装。
此外,用户可能是在安装MAVProxy或其他无人机相关的库,这些库可能有特定的依赖或版本要求。比如empy指定了3.3.4版本,但其他包可能有冲突。需要检查是否有包依赖旧版本的setuptools或packaging库,导致版本解析失败。
可能的解决步骤:1. 将.local/bin加入PATH;2. 升级setuptools和pip;3. 检查具体出错的包,手动指定版本安装;4. 使用虚拟环境隔离安装环境;5. 如果问题依旧,可能需要联系包维护者或寻找替代版本。
用户可能需要分步操作,先处理PATH问题,再处理版本错误。另外,用户可能对Linux环境和Python包管理不太熟悉,需要给出详细的步骤说明,避免进一步的问题。</think>你遇到的错误主要涉及两个问题:**PATH环境变量警告**和**Python包版本号格式不合法**。以下是逐步解决方案:
---
### **一、PATH环境变量警告处理**
#### 警告内容:
```bash
WARNING: The scripts pip, pip3... are installed in '/home/liyuxuan/.local/bin' which is not on PATH.
```
#### 原因分析:
系统无法找到用户目录下的Python脚本(如`pip`),因为该路径未添加到环境变量`PATH`中。
#### 解决方法:
1. **临时添加PATH(仅当前终端有效)**
运行以下命令:
```bash
export PATH="$HOME/.local/bin:$PATH"
```
2. **永久添加PATH(推荐)**
编辑用户配置文件(如`~/.bashrc`或`~/.zshrc`):
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc # 立即生效
```
---
### **二、Python包版本号格式错误**
#### 错误关键信息:
```bash
packaging.version.InvalidVersion: Invalid version: '1.0.3.linux-x86_64'
```
#### 原因分析:
某个包的版本号包含非法后缀(如`.linux-x86_64`),不符合[PEP 440版本规范](https://peps.python.org/pep-0440/)。
#### 解决方法:
1. **更新`setuptools`和`pip`**
运行以下命令:
```bash
pip3 install --user -U setuptools pip
```
2. **手动定位问题包**
根据错误日志,检查安装列表中的包(如`future`, `lxml`, `pymavlink`等),可能是某个包的依赖项版本号不合法。
**临时绕过方法**:尝试单独安装问题包并指定合法版本。例如:
```bash
pip3 install --user pymavlink==2.4.43 # 手动指定已知合法版本
```
3. **使用虚拟环境隔离(推荐)**
通过虚拟环境避免系统Python环境污染:
```bash
python3 -m venv myenv # 创建虚拟环境
source myenv/bin/activate # 激活虚拟环境
pip install -U future lxml pymavlink... # 重新安装依赖
```
---
### **三、完整修复步骤**
1. **修复PATH问题**
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
2. **升级关键工具**
```bash
pip3 install --user -U setuptools pip packaging
```
3. **尝试重新安装依赖**
```bash
pip3 install --user -U future lxml pymavlink pyserial MAVProxy pexpect geocoder empy==3.3.4 ptyprocess dronecan flake8 junitparser pygame intelhex
```
4. **若仍报错**
使用`--no-cache-dir`选项或添加`--verbose`查看详细错误来源:
```bash
pip3 install --user -U --no-cache-dir future lxml...
```
---
### **附加说明**
- 如果问题持续,可能是某个包的依赖存在兼容性问题。建议在虚拟环境中操作。
- 对于无人机开发工具链(如MAVProxy),可参考官方文档的[安装指南](https://ardupilot.org/mavproxy/docs/getting-started/installation.html)。
阅读全文
相关推荐



















