原文地址:

https://zhuanlan.zhihu.com/p/351468170

================================

我们都知道anaconda可以安装不同的python环境,每次使用的时候conda activate 一下就好,但是有时候工作中提供了几个conda环境,我也不能自己去更新这个conda环境,因为大家一般是没有权限的.安装的时候一般就是pip install xxx --user.

--user的话是在home目录中新建一个.local文件,但是如果不同的环境都用--user的话就是会不断地修改.local文件,这样显然就乱套了.

用下面这个脚本可以给不同的环境新建.local文件.比如pytorch1.7的环境,就新建一个名字叫pt1.7的文件,里面写入以下内容,激活的时候source (pt1.7文件的路径)就可以啦.

ENV_HOME=你的路径                                                                                                                                                 ENV_NAME=pt1.3v1
ENV_NAME=pt1.7 GCC_ROOT=${ENV_HOME}/dep/gcc-5.4
CONDA_ROOT=${ENV_HOME}/env/miniconda3.7
CUDA_ROOT=${ENV_HOME}/dep/cuda-9.0-cudnn7.6.5
MPI_ROOT=${ENV_HOME}/dep/openmpi-4.0.3-cuda9.0-ucx1.7.0
UCX_ROOT=${ENV_HOME}/dep/ucx-1.7.0
NCCL_ROOT=${ENV_HOME}/dep/nccl_2.5.6-1-cuda9.0 export CUDA_HOME=${CUDA_ROOT}
export MPI_ROOT=${MPI_ROOT}
export NCCL_ROOT=${NCCL_ROOT}
export LD_LIBRARY_PATH=${GCC_ROOT}/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${CONDA_ROOT}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${CUDA_ROOT}/lib64:${CUDA_ROOT}/extras/CUPTI/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${MPI_ROOT}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${UCX_ROOT}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${NCCL_ROOT}/lib/:$LD_LIBRARY_PATH export PIP_CONFIG_FILE=${CONDA_ROOT}/envs/${ENV_NAME}/.pip/pip.conf
export LD_PRELOAD=${MPI_ROOT}/lib/libmpi.so #mkdir ${HOME}/.local.${ENV_NAME}
export PYTHONUSERBASE=${HOME}/.local.${ENV_NAME}
export PATH=${PYTHONUSERBASE}/bin:${GCC_ROOT}/bin:${CONDA_ROOT}/bin:${MPI_ROOT}/bin:${CUDA_ROOT}/bin:$PATH #source activate ${ENV_NAME}
source ${ENV_NAME}

====================================

上面内容虽然没有太明白,尤其是这个脚本具体改怎么设置怎么具体来用,但是这个告诉我们来一件事情,就是在linux中使用pip为python安装包的时候如果加上了 --user  的话那么就会将包安装到 /home/用户名/.local 文件夹下面。

如果可以有权限使用conda自己创建环境的话,那么在conda自建环境下使用pip安装pypi上的包时就不需要使用  --user   了, 这样就完全可以避免很多冲突的问题。

【转载】pip install 使用多个.local环境的更多相关文章

  1. 【转载】 星际争霸2的AI环境搭建

    原文地址: https://blog.csdn.net/qq_40244666/article/details/80957644 作者:BOY_IT_IT 来源:CSDN -------------- ...

  2. Windows下基于Python3安装Ipython Notebook(即Jupyter)。python –m pip install XXX

    1.安装Python3.x,注意修改环境变量path(追加上python安装目录,如:D:\Program Files\Python\Python36-32) 2.查看当前安装的第三方包:python ...

  3. conda install和pip install区别

    conda ≈ pip(python包管理) + virtualenv(虚拟环境) + 非python依赖包管理 级别不一样conda和yum比较类似,可以安装很多库,不限于Python.conda是 ...

  4. 【pip install】+【环境变量配置】

    1.环境变量配置 (1)用打开后下面的"系统变量"进行配置,下面的名字为Path: (2)举例,如果安装ping.exe:而且ping.exe在C:\lianghua\ping.e ...

  5. Windows环境下使用pip install安装lxml库

    lxml是Python语言和XML以及HTML工作的功能最丰富和最容易使用的库.lxml是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整 ...

  6. python基础===Windows环境下使用pip install 安装出错"Cannot unpack file"解决办法

    不知道为什么,加了豆瓣镜像源还是不行 这个命令可以解决! pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douba ...

  7. (转载)Ubuntu 16.04+1080Ti机器学习基本环境配置

    转载自:https://blog.csdn.net/mahonesun/article/details/80808930 一.设置网络 机器有两张网卡,将当前正在使用的"有线连接1" ...

  8. Mac pip install mysql-python

    首次在mac os 下,用pip install MySQL-Python时经常出现如下错误: sh: mysql_config: command not foundTraceback (most r ...

  9. [PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)

    1.关于pyenv (1)pyenv是一个开源的.shell脚本编写的工具:Simple Python version management (2)为什么使用pyenv:当多个项目同时在开发与维护时, ...

  10. pip install MySQL-python

    在win7下安装了python后,想安装python-mysql,使用pip安装出现如下问题: pip install MySQL-pythonbuild\lib.win-amd64-2.7\_mys ...

随机推荐

  1. MYSQL 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对象引用设置到对象的实例。

    一: 中文提示 : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对象引用设置到对象的实例.DbType="MySql";ConfigId=&quo ...

  2. k8s节点状态Init:0/1

    k8s节点状态Init:0/1 在节点机器上打印日志: journalctl -f -u kubelet 出现以下内容: 5月 29 15:27:34 k8snode2 kubelet[2249]: ...

  3. 消息sms 邮箱/手机号/push发送的方案 & 定时任务xxlJob灵活度 & 泛型和发送的模板类设计

    消息sms 邮箱/手机号/push发送的方案 & 定时任务xxlJob灵活度 & 泛型和发送的模板类设计 1.消息sms 邮箱/手机号/push发送的方案 1.判断收件人地址是否为空, ...

  4. Python优雅遍历字典删除元素的方法

    在Python中,直接遍历字典并在遍历过程中删除元素可能会导致运行时错误,因为字典在迭代时并不支持修改其大小.但是,我们可以通过一些方法间接地达到这个目的. 1.方法一:字典推导式创建新字典(推荐) ...

  5. textFieldShouldReturn: 方法无效化!

    问题描述 不管如何在键盘上点击return,textFieldShouldReturn:方法一直没有调用. 问题代码 @interface ViewController : UIViewControl ...

  6. 详解Web应用安全系列(3)失效的身份认证

    大多数身份和访问管理系统的设计和实现,普遍存在身份认证失效的问题.会话管理是身份验证和访问控制的基础,并且存在于所有有状态的应用程序中.攻击者可以使用指南手册来检测失效的身份认证,但通常会关注密码转储 ...

  7. python重拾第十一天-REDIS缓存数据库

    缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付we ...

  8. python重拾基础第二天

    本节内容 列表.元祖操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换 1. 列表操作 ...

  9. 高通驱动树中的GPIO详解

    高通驱动树中的GPIO详解 reference:https://blog.csdn.net/baidu_37503452/article/details/80257441 Drive Strength ...

  10. 基于SQLite3的C学习总结

    背景 针对 SQLite3 的学习总结 arm linux 移植 SQLite 3 如何在 Linux 上移植使用 SQLite3,标题虽然是在讲 arm linux,但实际上是跨平台的. 基于 SQ ...