背景:
Collecting fairseq
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d7/0f/b7043b451a97eb9b4cfb1b1e23e567b947d9d7bca542403228bd53b435fe/fairseq-0.12.1.tar.gz (9.6 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [16 lines of output]
Traceback (most recent call last):
File "/data/soft/anaconda3/envs/textimage/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/data/soft/anaconda3/envs/textimage/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/data/soft/anaconda3/envs/textimage/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/tmp/pip-build-env-7wtoaron/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
File "/tmp/pip-build-env-7wtoaron/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-7wtoaron/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 318, in run_setup
exec(code, locals())
File "<string>", line 27, in <module>
File "<string>", line 18, in write_version_py
FileNotFoundError: [Errno 2] No such file or directory: 'fairseq/version.txt'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
愿我们终有重逢之时,而你还记得我们曾经讨论的话题。
QQ group 868373192
QQ second group 277356808
解决方案:
你遇到的错误是由于在安装 `fairseq` 包时,构建过程中找不到 `fairseq/version.txt` 文件。这个问题可能是由于 `fairseq` 包的特定版本在打包或发布时出现了问题。以下是一些可能的解决方案:
### 1. 检查 `fairseq` 版本
- 确保你正在尝试安装的 `fairseq` 版本与你的 Python 环境兼容。错误信息表明你正在尝试安装 `fairseq-0.12.1`。如果这个版本已知有问题,可以尝试安装其他版本。
```bash
pip install fairseq==0.10.2
```
### 2. 从源代码安装
- 如果问题仍然存在,可以尝试从源代码安装 `fairseq`。这有时可以解决由于缺少文件或依赖项引起的问题。
```bash
git clone https://github.com/pytorch/fairseq.git
cd fairseq
pip install --editable ./
```
### 3. 检查缺失的依赖项
- 确保所有必要的依赖项都已安装。有时,缺少依赖项会导致构建过程出现问题。
```bash
pip install torch
pip install cython
pip install numpy
```
### 4. 使用不同的镜像
- 如果你使用的是特定的镜像(例如,清华镜像)并且遇到问题,可以尝试使用默认的 PyPI 镜像。
```bash
pip install fairseq --no-cache-dir
```
### 5. 检查环境问题
- 确保你的 Python 环境正确设置,并且没有与当前环境冲突或问题。你可以尝试创建一个新的虚拟环境并在其中安装 `fairseq`。
```bash
conda create -n fairseq_env python=3.9
conda activate fairseq_env
pip install fairseq
```
### 6. 检查已知问题
- 检查 `fairseq` GitHub 仓库中是否有与你尝试安装的版本相关的已知问题或拉取请求。可能会有修复或解决方法。
[fairseq GitHub Issues](https://github.com/pytorch/fairseq/issues)
### 7. 使用预构建的 wheel 文件
- 如果上述步骤不起作用,可以尝试从可信来源下载预构建的 wheel 文件并手动安装。
```bash
pip install https://path/to/prebuilt/fairseq-0.12.1-py3-none-any.whl
```
### 8. 降级 `setuptools`
- 有时,问题可能是由于 `setuptools` 与正在安装的包之间的不兼容性引起的。你可以尝试降级 `setuptools` 到较早的版本。
```bash
pip install setuptools==58.0.4
```
### 9. 检查文件系统权限
- 确保你有在安装过程中读取和写入文件的必要权限。
### 10. 使用不同的 Python 版本
- 如果可能,尝试使用不同的 Python 版本。有时,某些包在特定 Python 版本上会有问题。
```bash
conda create -n fairseq_env python=3.8
conda activate fairseq_env
pip install fairseq
```
如果这些步骤都不能解决问题,你可能需要联系 `fairseq` 社区或在他们的 GitHub 仓库中打开一个问题,详细描述你遇到的问题。
或者官方的github安装方法:
git clone https://github.com/pytorch/fairseq cd fairseq pip install --editable ./ # on MacOS: # CFLAGS="-stdlib=libc++" pip install --editable ./ # to install the latest stable release (0.10.x) # pip install fairseq