修改conda环境中无法使用环境对应python和pip的原因
在使用
conda
安装
pytorch
的时候遇到了问题
Collecting package metadata (current_repodata.json): | ERROR conda.auxlib.logz:stringify(171): Expecting value: line 1 column 1 (char 0)
...
Traceback (most recent call last):
File "/root/anaconda3/lib/python3.11/site-packages/conda/auxlib/logz.py", line 165, in stringify
requests_models_Response_builder(builder, obj)
File "/root/anaconda3/lib/python3.11/site-packages/conda/auxlib/logz.py", line 141, in requests_models_Response_builder
resp = response_object.json()
^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/lib/python3.11/site-packages/requests/models.py", line 975, in json
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
这个错误是由于与Conda
仓库的通信问题导致的,找到Anaconda
目录下的.condarc
文件,更换conda
的镜像源,使用清华大学的镜像源。
# 替换成清华源
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
之后是python
一些额外的库。
pip uninstall torch torchvision -y
pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117
pip install openai==0.27.8
pip uninstall transformers -y
pip install git+https://github.com/huggingface/transformers@cae78c46
pip install -e .
出现了非常奇怪的错误,应该是pip
中找不到相应的版本,
ERROR: Could not find a version that satisfies the requirement torch==2.0.1 (from versions: 1.0.0, 1.0.1, 1.0.1.post2, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2)
ERROR: No matching distribution found for torch==2.0.1
查阅了很多资料没有找到合理的解决方案。在先前运行llava
的环境中使用的torch
和torchvision
的版本分别是
torch: 2.0.1+cu117
torchvision: 0.15.2+cu117
使用官网的下载命令也无法成功,
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
报错内容如下。
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
错误原因及正确修改方法、
检查pip
版本发现在虚拟环境中使用pip
也是默认使用系统自带的python
中的pip
工具,因此下载的包受python
版本限制。
pip 21.3.1 from /root/.pyenv/versions/3.6.8/lib/python3.6/site-packages/pip (python 3.6)
检查~/.zshrc
文件,将配置PY_ENV
的语句注释掉,即可在激活conda
环境时使用conda
的python
。
# export PYENV_ROOT="$HOME/.pyenv"
# export PATH="$PYENV_ROOT/bin:$PATH"
# export PYTHON_CONFIGURE_OPTS="--enable-shared"
# if command -v pyenv 1>/dev/null 2>&1; then
# eval "$(pyenv init -)"
# fi
顺利解决