配置独立于系统的PYTHON环境

python 当前用户包

一种解决方案是在利用本机的python环境的基础上,将python的包安装在当前user的.local文件夹下
一共有两种方式来实现pip的时候安装到当前user

设置pip配置文件 pip.conf

一种是在~/.pip文件夹下的pip配置文件pip.conf中设置
加入

[install]
install-option=--prefix=~/.local

相当于每次在执行

# pip install package 命令的时候在 install 后面加 --prefix 参数指定 install 的路径
pip install --prefix=~/.local package

Tips:
python import 查找python package的流程
我的理解 TODO
参考资料 python import 机制

  • pip 参数

另一种实现是直接在pip install的时候加一个 --user, 当然这个也可以写到pip.conf配置文件中去

pip install --user package

PYTHON 虚拟环境设置

因为在实际工作中经常会遇到创建PYTHON虚拟环境的需求,每次都得去Google,很不方便,这里特意整理一下PYTHON虚拟环境创建的相关资料。

目录:

  • 虚拟环境有什么好处

  • 常见的创建虚拟环境的工具
    • virtualenv
    • Anaconda
  • 虚拟环境配置的一些小trick

虚拟环境 Cons

有时候我们可能手上会有多个python 项目,每个项目使用不同版本的python(python2.7 python3.5 etc.),并且每个python对应于不同的包依赖,还有一种情况是我们可能没有root权限,或者多人共用一个服务器,我们想自己创建一个独立于其他用户的python环境。

这个时候python虚拟环境机制就显得很有用了,python虚拟环境主要有以下好处:

  1. 能够创建一个独立的python环境,和其他用户的设置都不冲突
  2. 能够为每一个项目单独维护一个环境,适应不同的需求

常见的创建虚拟环境的工具

virtualenv

virtualenv is a tool to create isolated Python environments.

virtualenv 主要解决了以下三个问题:

  1. 不同的项目需要同一个python package的不同版本,无法在/usr/lib/python/site-packages文件夹下面同时维护两个不同版本(eg. tensorflow 1.0 and tensorflow 1.5)
  2. 需要为某个项目永久(或者长时间)保留一个运行环境,(保持本机的主环境长时间不变动不现实,无意识的更新或者其他项目需要更新)
  3. 在服务器的使用中,普通用户没有权限访问/usr/lib/python/site-packages文件夹,无法修改主机python环境

virtualenv 原理的一个说明:

virtualenv是如何创建“独立”的Python运行环境的呢?

原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

安装virtualenv

virtualenv 的安装方式很多,可以通过pip安装,也可以直接从git上下载,通过源码安装,还可以用easy_install安装。

这里只介绍使用pip安装的方法

  • 安装到全局

    [sudo] pip install virtualenv
  • 安装到当前用户
    shell export PYTHONUSERBASE=$HOME pip install --user virtualenv
    virtualenv 的简单使用

virtualenv 主要几个指令是

  • 创建env

    virtualenv env_name --python=python3.x
    # virtualenv 会在当前文件夹下创建一个名为env_name的文件夹作为虚拟环境env_name的目录,并且将python3.x作为新创建环境的python解释器
  • 进入env

    # 想要使用env,需要先active当前环境,命令为:
    source env_path/bin/activate    #Tips: 可以在~/.bash_aliases文件中设定一个alias,方便直接进入env
  • 使用完env以后,可以通过deactivate退出当前env

  • 如果要删除某个env,只需要 rm -r env_dir,删除对应的文件夹就可以了

还有一些virtualenv的扩展包,进一步集成了virtualenv的功能:virtualenvwrapper (能够在一个文件夹下统一管理所有的env)

  • 其他几个小trick

    • virtualenv 默认不包含全局安装的python 包
    • 可以在env里面通过pip freeze > requirements.txt 来获取当前环境所有的python package的信息。这样在下一次创建环境的时候就可以通过pip install -r requirements.txt直接快速安装所有依赖包

Anaconda

Anaconda is the most popular python data science platform. (Introduced by the Anaconda website)

Anaconda Python 是专注于数据分析的Python发行版本,包含了conda、python等190多个科学包及其依赖项。

Anaconda分离python环境的原理和virtualenv基本一致,都是通过创建一个独立的文件夹保存python环境。Anaconda相较于virtualenv不同的地方主要有以下几点:

  1. Anaconda是一个综合的python工具,包括python基础解释器,IPython,CPython,JupiterBook和一个Python IDE Spyder(Spyder是一个拥有和Matlab相似的界面的Python IDE)
  2. Anaconda配置python环境的时候只需要指定python版本,而不需要本机提前安装(这相较于virtualenv是一个很大的优势)
  3. Anaconda基于Conda来管理python包和环境。
Anaconda 常用指令
# 创建新环境
conda create -n env_name python=X.X #创建名为env_name,解释器为pythonx.x的python虚拟环境
# env_name文件可以在Anaconda安装目录envs文件下找到。# 进入python环境
# Linux
source activate env_name
# Windows
activate env_name# 进入python环境以后的一些命令
conda list # 查看当前环境安装了那些包
conda env list
conda info -e
# 查看当前存在那些虚拟环境
conda install package # 安装第三方python包
# 也可以直接使用pip命令安装
pip install package# 删除环境中的某个包
conda remove package
pip uninstall package# 退出当前虚拟环境
source deactivate # Linux
deactivate # Windows# 删除虚拟环境
conda remove -n env_name

转载于:https://www.cnblogs.com/yeyuan111/p/10083499.html

配置独立于系统的PYTHON环境相关推荐

  1. Win10+Python3+OpenCV+CUDA——在win中配置OpenCV4.5并与Python环境绑定

    Win10+Python3+OpenCV+CUDA--在win中配置OpenCV4.5并与Python环境绑定 前言 安装Anaconda和基本库 下载对应版本的CUDA 配置方案1.通过下载预购建文 ...

  2. win10搭建python环境_win10系统搭建python环境的还原方法

    有关win10系统搭建python环境的操作方法想必大家有所耳闻.但是能够对win10系统搭建python环境进行实际操作的人却不多.其实解决win10系统搭建python环境的问题也不是难事,小编这 ...

  3. windows下python环境搭建_Win7怎么搭建Python环境 win7系统搭建Python环境的方法

    Python环境是一种面向对象.解释型计算机程序设计语言,功能强大,有很多的第三方开发模块,那么在win7系统中怎么搭建Python环境呢?下面给大家分享一下win7系统搭建Python环境的方法如下 ...

  4. Rasbian系统 树莓派Python环境搭建

    Rasbian系统 树莓派Python环境搭建 换源 nano 是Rasbian自带的一款轻量级的文本编辑器,这里也可以用其它文本编辑器替代. 将raspi.list 和 sources.list 里 ...

  5. Linux系统 05 python环境配置02 之 virtualenv与virtualenvwrappe以及freeze

    思考:在使用 Python 开发的过程中,工程多了以后,会不会遇到如下问题: 不同的工程依赖不同版本的库的问题,如何让一台机器同时跑不同的python或django版本: 开发过程中不想让物理环境里充 ...

  6. windows系统下Python环境的搭建

    1.首先访问http://www.python.org/download/去下载最新的python版本. 2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装 ...

  7. python安装在什么系统下最好-windows系统下Python环境的搭建

    2.安装下载包,一路next. 3.为计算机添加安装目录搭到环境变量,如图把python的安装目录添加到pth系统变量中即可. 4.测试python安装是否成功,cmd打开命令行输入 python 命 ...

  8. python环境变量的配置mac_在mac上python环境变量配置

    mac上Python安装和修改Python默认路径遇到的问题 参考地址:https://www.cnblogs.com/bahcelor/p/8278711.html ----简要笔记---- (一) ...

  9. Linux系统 06 python环境配置04 之 python操作redis

    Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

最新文章

  1. OpenStack平台功能性测试工具Tempest安装
  2. 在Linux上配置Telnet服务
  3. Android开发热门前沿知识,成功定级腾讯T3-2
  4. 青蛙学Linux—Zabbix Agent的主动模式和被动模式
  5. 微信之初学者:基本的列表操作
  6. sql进程意外终止_字节跳动五面都过了,竟然意外被刷了下来,问了hr原因竟说是。。。。。...
  7. 4.4 Hibernate高级功能
  8. IDEA 导入p3c-formatter 格式化代码
  9. 怪物刷新时间计时_《冒险岛2》游戏中查找怪物刷新时间
  10. qq群相册显示服务器错误怎么回事,QQ群相册的删除系统提示1004错误怎么办
  11. java 枚举类遍历
  12. 七年切图仔如何面试大厂web前端?(沟通软技能总结)
  13. python绘制绝对值正弦曲线_Python图形绘制操作之正弦曲线实现方法分析
  14. 一年太久,只争朝夕——2018年终总结
  15. python转义字符:‘\‘
  16. 谷歌浏览器网页翻译插件
  17. Codeforces Round #727 (Div. 2)题解A-D
  18. 再见,2020。您好,2021!
  19. 高中新课程作业本 地理 必修1 参考答案下
  20. 60个必备NOIP模板 python算法模板

热门文章

  1. 控制台资费管理主菜单java_java毕业设计_springboot框架的高速公路收费管理系统...
  2. Linux 火狐浏览器安装Flash插件
  3. 2014编程之美资格赛
  4. leetcode 93. 复原IP地址 思考分析
  5. 硕士毕业后去国外读法学博士_法学硕士的完整形式是什么?
  6. Java SimpleTimeZone setEndRule()方法与示例
  7. Java SecurityManager checkPermission()方法与示例
  8. 字符串最长回文子串_最长回文子串
  9. Java——异常处理(键盘录入一个整数,输出其对于二进制)
  10. 远控免杀专题(24)-CACTUSTORCH免杀