Docker bash环境中如何修改pip install的默认安装路径
解决Docker容器内pip安装依赖磁盘不足问题
方法1:单次安装临时指定路径
- 先在空间充足的挂载目录下创建包存储路径:
mkdir -p /home/ubuntu/pip_libs
- 安装依赖时添加
--target参数指定路径:
pip install <你要装的包名> --target=/home/ubuntu/pip_libs
- 配置Python模块搜索路径,避免导入时报错:
# 临时生效(当前bash会话有效) export PYTHONPATH=/home/ubuntu/pip_libs:$PYTHONPATH # 永久生效(写入bash配置,每次进入容器自动加载) echo 'export PYTHONPATH=/home/ubuntu/pip_libs:$PYTHONPATH' >> ~/.bashrc source ~/.bashrc
方法2:永久修改pip默认安装路径
- 编辑pip全局配置文件,不存在则自动创建:
mkdir -p ~/.config/pip vim ~/.config/pip/pip.conf
- 写入以下配置内容:
[global] target = /home/ubuntu/pip_libs
- 保存退出后,所有
pip install操作都会默认将包安装到指定路径,同样需要按方法1的步骤配置PYTHONPATH环境变量。
方法3:Docker场景推荐方案(无需修改容器内配置)
当前你启动容器时已经挂载了宿主机大空间的/home/ubuntu目录,直接将conda默认安装路径映射到宿主机目录即可,从根源解决根分区容量不足问题,同时依赖包不会随容器销毁丢失:
- 退出当前运行的容器
- 使用修改后的命令启动容器:
sudo nvidia-docker run --rm -it --ipc=host -v /home/ubuntu/:/home/ubuntu/ -v /home/ubuntu/conda_env:/opt/conda king/pytorch:latest /bin/bash
启动后所有conda、pip安装的依赖都会直接写入宿主机/home/ubuntu/conda_env目录,占用宿主机大分区空间,不需要修改任何pip/conda配置。
内容的提问来源于stack exchange,提问作者user14889957
相关产品推荐
相关产品推荐

