【转载】pip install 使用多个.local环境
原文地址:
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环境的更多相关文章
- 【转载】 星际争霸2的AI环境搭建
原文地址: https://blog.csdn.net/qq_40244666/article/details/80957644 作者:BOY_IT_IT 来源:CSDN -------------- ...
- Windows下基于Python3安装Ipython Notebook(即Jupyter)。python –m pip install XXX
1.安装Python3.x,注意修改环境变量path(追加上python安装目录,如:D:\Program Files\Python\Python36-32) 2.查看当前安装的第三方包:python ...
- conda install和pip install区别
conda ≈ pip(python包管理) + virtualenv(虚拟环境) + 非python依赖包管理 级别不一样conda和yum比较类似,可以安装很多库,不限于Python.conda是 ...
- 【pip install】+【环境变量配置】
1.环境变量配置 (1)用打开后下面的"系统变量"进行配置,下面的名字为Path: (2)举例,如果安装ping.exe:而且ping.exe在C:\lianghua\ping.e ...
- Windows环境下使用pip install安装lxml库
lxml是Python语言和XML以及HTML工作的功能最丰富和最容易使用的库.lxml是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整 ...
- python基础===Windows环境下使用pip install 安装出错"Cannot unpack file"解决办法
不知道为什么,加了豆瓣镜像源还是不行 这个命令可以解决! pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douba ...
- (转载)Ubuntu 16.04+1080Ti机器学习基本环境配置
转载自:https://blog.csdn.net/mahonesun/article/details/80808930 一.设置网络 机器有两张网卡,将当前正在使用的"有线连接1" ...
- Mac pip install mysql-python
首次在mac os 下,用pip install MySQL-Python时经常出现如下错误: sh: mysql_config: command not foundTraceback (most r ...
- [PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)
1.关于pyenv (1)pyenv是一个开源的.shell脚本编写的工具:Simple Python version management (2)为什么使用pyenv:当多个项目同时在开发与维护时, ...
- pip install MySQL-python
在win7下安装了python后,想安装python-mysql,使用pip安装出现如下问题: pip install MySQL-pythonbuild\lib.win-amd64-2.7\_mys ...
随机推荐
- C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704
C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704 环境说明: .NET Framework 4.6 的控制台程 ...
- 写了一个 SRE 调试工具,类似一个小木马
远程操作机器有时会比较麻烦,我写了一个工具,主要功能:1.远程执行命令 2.上传下载文件.是一个 Web Server,通过 HTTP 请求来操作机器,类似一个小木马.当然,因为是一个 Web Ser ...
- VictoriaLogs 要凭什么革了各家日志存储的命
如果大家对时序指标的存储方案有些了解,那大概率会听过 VictoriaMetrics,VictoriaMetrics 号称 Prometheus 的升级版,在性能和成本方面也确实做得很好,如果是夜莺新 ...
- Spring Data JPA 学习笔记1 - JPA与Spring Data
标记[跳过]的未来完善 1 理解JPA 1.1 什么是持久化? 当一个软件关闭的时候,软件内储存的状态数据还能在下次开启时被恢复,这就是持久化.对象持久化是指每个独立的对象的生命周期都能不依赖应用程序 ...
- Java 获取当前时间的年、月、日、小时、分钟、秒数
public static void getDateTime() throws ParseException{ Calendar now = Calendar.getInstance(); Syste ...
- Tarjan 求有向图的强连通分量
重温Tarjan, 网上看了许多博客感觉都讲的不清楚. 故传上来自己的笔记, 希望帮到大家. 提到的一些概念可以参考 oi wiki, 代码也是 oi wiki 的, 因为我不认为我能写出比大佬更好的 ...
- python调用微信JS_SDK及使用redis缓存access_token 和jsapi_ticket
from flask import Flask, make_response,request import json import string import hashlib import rando ...
- .NET Core MVC基础之页面传值方式📃
.NET Core MVC基础之页面传值方式 前言 最近工作太忙了,浅浅更新一下.NET基础知识.大部分面试官都会问.NET页面传值的几种方式,那么接下来就来细讲与实现一下吧! 页面传值分成两类 第一 ...
- 记录一次EF实体跟踪错误
记录一次EF实体跟踪错误 前言 在我写文章编辑接口的,出现了一个实体跟踪的错误,详情如下 System.InvalidOperationException: The instance of entit ...
- mapreduce压缩
这是mr的一种优化策略,通过压缩编码对mapper或者reducer的输出进行压缩,以减少磁盘io,提高mr运行速度(但也相应增加了cpu运算负担) 特性: 1.mr支持将map输出的结果或者redu ...