使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python

使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python

virtualenv

系统中的多个python混用会导致$PYTHONPATH混乱,或者各个工程对于package的版本要求不同等等情况。有一个简单的解决方案就是用virtualenv来隔离多个python,其本质只是实现隔离不同python中$PYTHONPATH的路径,当然也可以衍生到隔离多个$PATH

安装virtualenv

# Ubuntu/Linux 64-bit $ sudo apt-get install python-pip python-dev python-virtualenv # Mac OS X $ sudo easy_install pip $ sudo pip install --upgrade virtualenv

Virtualenvwrapper

当有很多个虚拟环境时,我们可能会记不清有哪些虚拟环境,要搞清楚每个环境中有哪些package就更难了,因此这里推荐用Virtualenvwrapper来对虚拟环境进行管理。

配置Virtualenvwrapper

在安装Virtualenvwrapper之前用pip安装上virtualenv或用apt-get安装上python-virtualenv

$ sudo pip install virtualenvwrapper 

把下面几行加入~/.bashrc

 

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 # 这句是为了防止环境变量$PATH中已有其它环境的python,需要换成自己需要的python路径

export WORKON_HOME=$HOME/.virtualenvs # 放所有虚拟环境的地方

source /usr/local/bin/virtualenvwrapper.sh

 

在终端输入source ~/.bashrc

新建Virtualenv

新建虚拟环境的指令由原来的virtualenv vpath更换为mkvirtualenv vname,默认把路径放到了$WORKON_HOME下,并且原来的--system-site-packages--no-site-packages等选项都还是可以用的。

mkvirtualenv VirtalenvName

建好之后默认就已经进入这个虚拟环境了(命令行前会有一个括号+环境名的提示),退出是deactivate

 

Virtualenvwrapper常用指令

mkvirtualenv 创建环境
workon 切换到环境
deactivate 注销当前环境
lsvirtualenv 列出所有环境
rmvirtualenv 删除环境
cpvirtualenv 复制环境
cdsitepackages cd到当前环境的site-packages目录
lssitepackages 列出当前环境中site-packages内容
setvirtualenvproject 绑定现存的项目和环境
wipeenv 清除环境内所有第三方包
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119603.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java获取窗口_获取窗口句柄[通俗易懂]

    java获取窗口_获取窗口句柄[通俗易懂]1、使用FindWindow函数获取窗口句柄示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小和标题,并且移动窗口到指定位置。#include#include#include#includeintmain(intargc,char*argv[]){//根据窗口名获取QQ游戏登录窗口句柄HWNDhq=FindWindow(NULL,”QQ2012″);//得到QQ窗口…

    2022年7月21日
    143
  • Java事务管理[通俗易懂]

    Java事务管理[通俗易懂]事务的ACID属性:原子性(Atomicity)、一致性(Consistency)、隔离性或独立性(Isolation)和持久性(Durabilily)一、Java事务管理Java事务管理有三种类型:JDBC事务、JTA(JavaTransactionAPI)事务、容器事务1.1JDBC事务JDBC的一切行为包括事务是基于一个Connection的,JDBC通过Connec…

    2022年10月9日
    3
  • java执行cmd ping命令是什么_急求;java调用window的cmd的ping指令。。。。[通俗易懂]

    java执行cmd ping命令是什么_急求;java调用window的cmd的ping指令。。。。[通俗易懂]展开全部//连同解决乱码问题。publicstaticvoidmain(String[]args)throwsIOException,InterruptedException{//执行62616964757a686964616fe78988e69d8331333433623234ping命令StringcmdPing=”pingwww.baidu.com”;Runtime…

    2025年11月29日
    6
  • 华硕老毛子Padavan使用IPV6+Aliddns远程管理路由

    华硕老毛子Padavan使用IPV6+Aliddns远程管理路由华硕老毛子Padavan使用IPV6远程管理路由前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseaborna

    2022年6月5日
    519
  • can总线板卡_CAN接口

    can总线板卡_CAN接口现有市场下,智能化程度越来越高,特别是AGV、机器人、物流车、动力电池检测等等行业中工控机应用越来越频繁。然而这些产品核心控制器与电池都是走的CAN总线通讯,而工控机本身是没有CAN通讯,那么工控机就需要通讯桥梁(025-68250795)来扩展CAN通道。而在工控机当中有nimipcie接口,如此就用可以用minipcie接口转CAN的一个模块来实现扩充CAN口。miniPCIe接口CAN卡是PCIExpressmini卡槽的工控机或单板电脑快速扩展CAN通道的利器。产品特性PCIExpr

    2025年9月1日
    4
  • vagrant共享目录出现“mount:unknown filesystem type ‘vboxsf‘”错误解决方法(亲测可行)

    vagrant共享目录出现“mount:unknown filesystem type ‘vboxsf‘”错误解决方法(亲测可行)

    2022年2月19日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号