配置独立于系统的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
  • 安装到当前用户

    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

配置独立于系统的PYTHON环境的更多相关文章

  1. Windows 10 系统下Python环境的搭建与配置

    1. 在https://www.python.org/downloads/release/python-352/网站上下载python版本 2. 配置环境 右击计算机属性,然后选择高级系统设置 3.  ...

  2. (转)windows系统下Python环境的搭建

    原博文地址:http://www.cnblogs.com/windinsky/archive/2012/09/20/2695520.html 这段时间在做python,觉得这个配置环境的帖子还不错,分 ...

  3. windows系统搭建Python环境

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

  4. Windows 64 位系统下 Python 环境的搭建

    Windows 64 位开发环境 注意:本教程适用于 Windows 7 64 位操作系统 及 Windows 10 64 位操作系统,其他系统尚未经过校验. 安装 IDE PyCharm 下载:ht ...

  5. windows系统下Python环境的搭建及Selenium的安装

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

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

    1.下载最新的Python版本3.5.0.

  7. Python学习之旅:使用virtualenv创建Python环境及PyQT5环境配置

    一.写在前面 从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 requests 到 lxml,从 Django 到 Flas ...

  8. 使用virtualenv隔离python环境

    使用virtualenv隔离python环境 | 爱积累爱分享 使用virtualenv隔离python环境 iitshare 分类:Python | 标签:pythonenv, virtualenv ...

  9. Vagrant+virtualBox+pycham+python环境的安装及配置

    概要: 通过Vagrant,virtualBox安装配置,把virtualBox虚拟机的linux项目映射windows本地项目中,在windows的pycharm工具中开发用python语言开发项目 ...

随机推荐

  1. IDEA 使用技巧 Update

    IDEA使用起来和Eclipse很大区别. 1.快捷键. 因为一个个熟悉起来费时间,就直接在Preferences—keymap里选择了Eclipse OS X,这样快捷键就转换到了Mac下Eclip ...

  2. 使用C#操作Oracle Spatial的SDO_GEOMETRY对像(读取和写入)

    首先,这个需要使用ODAC,也就是Oracle.DataAccess.dll,新出的托管Oracle.ManagedDataAccess.dll不支持Object Type,无法使用 ODAC下载地址 ...

  3. 小白学svn

    该博客是本人第一次在自己的电脑中部署svnserver后的一些心得,希望对小白们有所帮助.尽管本人之前有使用svn开发的经验,可是那都是使用百度开发人员平台的,我一直以为在自己的电脑中弄svnserv ...

  4. 微软YY公开课[《微软中国云计算Azure平台体验与新企业架构设计》 周六晚9点

    YY频道是 52545291//@_勤_: YY账号真的是一次一账号啊! 全然记不得之前注冊的//@老徐FrankXuLei: 最火爆的微软免费公开课.第一次顶峰126人.第二次96人.第三次我们又来 ...

  5. 使用jenkins管理uirecorder录制的任务

    在uirecorder官网(http://uirecorder.com/)上,对jenkins的配置只有简单的几句话: How to dock Jenkins? Add commands source ...

  6. virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令

    PowerShell 格式: vagrant powershell [-- extra powershell args] 这将在主机上打开PowerShell提示符,进入正在运行的vagrant机器. ...

  7. python自动化之上传文件的3种方法和图片预览

    ajax上传文件的三种方法 第一种xhr提交 function xhrSubmit(){ // $('#fafafa')[0] var file_obj = document.getElementBy ...

  8. vs未能正确加载XXX包,编译时停止工作问题

    出现这个问题的原因可能是配置更改或安装了另一个扩展,幸好之前用的不多,重新进行用户配置代价也不高,打开Visual Studio Tools:  选择VS2013 开发人员命令提示:  输入deven ...

  9. 通过应用程序域AppDomain加载和卸载程序集

    微软装配车的大门似乎只为货物装载敞开大门,却将卸载工人拒之门外.车门的钥匙只有一把,若要获得还需要你费一些心思.我在学习Remoting的时候,就遇到一个扰人的问题,就是Remoting为远程对象仅提 ...

  10. c++——引用

    1 引用概念 a)         在C++中新增加了引用的概念 b)         引用可以看作一个已定义变量的别名 c)         引用的语法:Type& name = var; ...