错误点与成功
通过conda activate env_name
激活环境,然后直接pip install package_name
或者pip install -r name.txt
这两个命令都没有问题,都会下载到当前激活的环境中,但是如果改为pip install package_name -i 国内源
或pip install -r name.txt -i 国内源
则会默认下载到base的环境中.
尝试方法如下:
- 激活对应的环境,进入到该环境下的site-packages目录下(可通过
python -m site --user-site
查看当前环境对应的),输入命令:
python -m pip install package_name # 下载单个包
python -m pip install -r name.txt # 下载多个包
# 都无效
- 修改site.py这个文件**(20210818最新测试,成功)**
成功,但是还是有问题,问题如下:当修改一个环境下的site.py时,其他环境下的site.py会同步更改
重要点:一定要先激活你需要下载包的环境
① 通过 python -m site -help
这个查看当前激活环境的site.py位置,python -m site
查看该环境下的package的安装位置
②修改改环境下的site.py中的参数USER_SITE
、USER_BASE
这两个,默认时None
USER_SITE = None
USER_BASE = None
# USER_SITE修改为python -m site --user-site查到的路径
# USER_BASE修改为对应环境下的Scripts目录中
# 如下
USER_SITE = "/home/{username}/anaconda3/envs/{env_name}/lib/{python_version}/site-packages"
USER_BASE = "/home/{username}/anaconda3/envs/{env_name}"
修改base这个基本环境
USER_SITE = “/home/{username}/anaconda3/lib/{python_version}/site-packages”
USER_BASE = “/home/{username}/anaconda3”
③ 运行pip install package_name
或 pip install -r name.txt
依旧下载在base中
- 指定安装路径(依旧安装在base下)
pip3 install package_name --target=/home/ywb/anaconda3/envs/py38/lib/python3.8/site-packages
或者
pip3 install -r name.txt --target=/home/ywb/anaconda3/envs/py38/lib/python3.8/site-packages
- 通过–install-option(依旧失败)
pip install --user --install-option="-prefix=/home/ywb/anaconda3/envs/py38/lib/python3.8/site-packages" -r /home/ywb/下载/baiduyunpanDownload/enviorment/py38.txt