virtualenv

Python有着庞大的开源社区的支持,很自然就产生这么一个问题:第三方包参差不齐,如果我们想在服务器测试,或者升级某个包,就会导致生产环境产生杂乱,多余的第三方依赖包。

virtualenv就是来解决这个问题的,virtualenv可以生成多个的Python环境,各个环境相互独立,互不影响,且和正式环境一模一样。

1、安装
pip install virtualenv
2、用法:
(1)创建ENV:virtualenv ENV
该命令会创建一个安装包存放目录:ENV/lib/pythonX.X/site-packages,同时还会为该虚拟环境创建一个Python解释器:ENV/bin/python。
在Python脚本头加上:#!/path/to/ENV/bin/python,意味着使用该虚拟环境的Python解释器以及第三方依赖包。
当然,我们还可以加上参数:—system-site-packages, virtualenv --system-site-packages ENV,这样就意味着该虚拟环境将会继承我们的全局Python环境的site-packages目录,也就是说,全局环境的第三方依赖包都能在该虚拟环境下使用。
(2)进入ENV:source ENV/bin/activate
执行该命令将会修改shell环境变量,将环境变量$PATH的第一个入口动态修改为:EVN/bin目录。这样,我们在shell交互环境下,输入python,就会使用当前干净
的虚拟环境另外。当然这么做只是一个便利,我们也可以不修改环境变量(即不使用source命令),直接用当前虚拟环境的解释器运行脚本:ENV/bin/pthon script.py
(3)在虚拟环境安装第三方插件
pip install [插件名称]
Virtualenv 附带有pip安装工具,因此需要安装的套件可以直接运行:
ENV/bin/pip install [插件名称]
如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
或者让在执行pip的时候让系统自动开启虚拟环境:

export PIP_RESPECT_VIRTUALENV=true

(4) deactivate ;将原来的环境变量修改回来。现在我们就退出了虚拟环境,回到全局Python环境下了。

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:1. 将所有虚拟环境整合在一个目录下2. 管理(新增,删除,复制)虚拟环境3. 切换虚拟环境

安装
sudo easy_install virtualenvwrapper  
此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。
1、创建目录用来存放虚拟环境
2、在~/.bashrc中添加行:export WORKON_HOME=$HOME/.virtualenvs
3、在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh
4、运行: source ~/.bashrc
此时virtualenvwrapper就可以使用了。 
列出虚拟环境列表
workon,也可以使用:lsvirtualenv
(1)新建虚拟环境
mkvirtualenv [虚拟环境名称]
(2)启动/切换虚拟环境
workon [虚拟环境名称]
(3)删除虚拟环境
rmvirtualenv [虚拟环境名称]
(4)离开虚拟环境

deactivate

问题:

此时如果遇到下面问题:(Linux)

virtualenvwrapper.sh no such file or directory,即virtualenvwrapper.sh没有成功的安装在/usr/local/bin目录下,则可以使用下列方式解决:

pip uninstall virtualenvwrapper    卸载virtualenvwrapper

pip install virtualenvwrapper  重新安装virtualenvwrapper

这时候就能成功的在/usr/local/bin下看到该sh文件了

由于本人使用(OSX),也同样遇到该文件不存在的问题,也是使用同样的方法(先卸载,再重新安装)解决:

最终该文件被写入到:

$HOME/anaconda/bin目录下(本人机器使用了anaconda环境)

运行 source ~/.zshrc,报错:/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

这时候可以将VIRTUALENVWRAPPER_PYTHON路径(python全局路径)加入到~/.zshrc中,vim ~/.zshrc

VIRTUALENVWRAPPER_PYTHON=$HOME/anaconda/bin/python

再执行:source ~/.zshrc,成功!

centos 下Python独立虚拟环境创建的更多相关文章

  1. Linux CentOS下Python+robot framework环境搭建

    Linux CentOS下Python+robot framework环境搭建   by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...

  2. CentOS下Python管理

    一.升级Python 查看系统版本 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 查看Python版本 python -V ...

  3. centos下python安装与虚拟环境配置

    Centos7下安装Python3.7 首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,笔者曾安装python3未成功就是因为没有安装libf ...

  4. windows下python使用虚拟环境

    官方文档: http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html virtualenv 是一个创建隔绝的Python环境 ...

  5. Windows下Python的虚拟环境

    前言 在开发python的应用程序的时候,有时候会遇到依赖包的版本问题,比如之前开发tensorflow应用的时候需要用到python3.5以下的版本(还是python3),但是日常做其它应用的时候用 ...

  6. centos下python多版本管理(pyenv+python+virtualenv+ipython)

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...

  7. Linux CentOS下Python+robot framework环境搭建

    转载自:http://blog.sina.com.cn/s/blog_13cc013b50102vof1.html 操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.c ...

  8. centos下python中添加easygui模块

    前提:python中要集成Tkinter,Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同 ...

  9. centos下python的pymssql模块安装及简单使用

    1.安装pymssq模块 1-1.环境准备: 1-1-1.unixODBC安装 yum install unixODBC unixODBC-devel -y 1-1-2.freetds安装 下载 fr ...

随机推荐

  1. MIP如何为页面加速?

    MIP是近日由百度发起的开源项目,它的核心是一套应用于移动网页的开放性技术标准,通过提供MIP-HTML规范.MIP-JS运行环境以及MIP-Cache页面缓存系统,实现移动网页加速. 换言之就是,M ...

  2. cf1047C-Enlarge GCD-(欧拉筛+map+gcd+唯一分解定理)

    https://vjudge.net/problem/CodeForces-1047C 题意:有n个数,他们有个最大公约数设为maxxgcd,要删去一些数,使得剩下的数的gcd大于maxxgcd. 解 ...

  3. 爬虫之Splash

    Splash 是一个JavaScript渲染服务,是一个带有HTTP API 的轻量级浏览器,同时它对接了Python中Twisted和QT库. 1.功能介绍 1)异步方法处理多个网页渲染过程: 2) ...

  4. Git命令解释

    pwd命令: Print Working Directory 显示工作目录的路径名称.

  5. Java基础(命令行操作、注释及API、)

    一.常用的dos命令. dir:列出当前目录下的文件及文件夹 md:创建目录 rd:删除目录 cd:进入到指定目录 cd..:退出到上一级目录 cd\:退出到根目录 del:删除文件 exit:退出d ...

  6. python 的xlrd模块

    一.安装 ♦ python官网下载http://pypi.python.org/pypi/xlrd模块安装. ♦或者在cmd窗口  pip install  xlrd 二.使用 1.导入模块: imp ...

  7. sublime安装PackageControl提示失败(被墙了)

    An error occurred installing Package Control 然后下面又说visit....某网址 如果弹出这个错误的话,就是被墙了.翻个墙或者改hosts就行了 如果是改 ...

  8. swift 导入 .a 和 .h 文件

    一.新建桥接文件,这个很简单,就不介绍了.给个链接方法吧. 二.添加导入 .a 文件,在最后一步选择要导入的 .a 文件. 三.桥接文件里引用头文件,一般 .a 和 .h 文件都是在一个文件夹一起拖入 ...

  9. Kafka的安装及与Spring Boot的集成

    安装JDK 下载jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz 解压 配置 $ vi /etc/profile,在最后加入下面两行 export J ...

  10. python脚本执行报错整理

    people = [ {'name':'alex','age':1000}, {'name':'wuxie','age':100}, {'name':'wangcanghai','age':9000} ...