python不同版本可以共存吗_解决方案-01、python版本共存_许瀚文的博客-程序员秘密

技术标签: python不同版本可以共存吗  

1.为什么需要版本共存?

首先python版本共存指的是不同版本的python解释器,同时存在在同一个独立的系统中。

例如:我们在进行项目开发时有时需要用到python2,有时要用到python3。但是在我们

执行.py文件时在命令窗口键入 python test.py 时,到底系统会给我用python2

执行还是python3执行呢?那我们有时候需要用指定的python版本该怎么办呢? 以及

我如何用指定的pip? 这些都将是大问题。小编我最近也遇到了类似的问题,弄了很久

查了很多资料,最后用虚拟环境完美地解决了这些问题。

2.如何建虚拟环境

首先 进入terminal(win下指命令行)界面 输入python

会进入python shell模式

7fdfbe95528c43ab42f5d7d503b05aad.png

在这里我们就能看到系统默认的python解释器版本了

然后输入quit() 退出python3 shell

(python2 shell 的退出方法为Ctrl+C)

建议先卸载其中一个python版本(python3 用安装程序卸载 python2用卸载程序卸载)

不过不卸载应该也不会出现问题 只不过我没试过 不能保证没问题

如果你的默认python没有安装pip那就先安装pip

pip安装包下载地址

下载下来后解压 进入terminal界面切换到pip的文件夹

执行python setup.py install

更新pip

pip -m pip install --upgrade pip

如果pip更新失败

就再重新安装pip 继续更新

安装virtualenvwrapper-win

注:如果是linux系统 比如ubuntu等 不需要加-win

pip install virtualenvwrapper-win

安装成功后

新建虚拟环境

mkvirtualenv -p C:\python35\python.exe py3env

# C:\python35\python.exe是我的python3的路径

mkvirtualenv -p C:\python27\python.exe --system-site-packages py2env

# C:\python27\python.exe是我的python3的路径 --system-site-packages参数是导入python2中已安装的包 不加这个参数 默认不导入

然后我们就能通过在terminal中输入 workon py3env来进入python3的虚拟环境

c9f6f0aa3403b9ccff39dc3e1f916cbe.png

输入workon py2env来进入python2的虚拟环境

3.virtualenvwrapper的其他命令

workon env_name

#进入虚拟环境或者切换虚拟环境

deactivate

#离开虚拟环境

workon 或 lsvirtualenv

#列出虚拟环境列表

rmvirtual env_name

#删除虚拟环境

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_32867521/article/details/113968124

智能推荐

基于 javaagent + javassist 一步步实现调用链系统 (2)_tameti + ng的博客-程序员秘密

上一章中, 我们基本上将 JDBC, Servlet 的信息采集以及调用链的实现思路给梳理清楚了. 现在我们就可以开始编写我们的调用链系统了.首先, 我们使用 javaagent 来对字节码进行一个插桩, 然后将采集的信息上传到 ElasticSearch 中, 使用的 jdk版本是祖传的1.8...

1688API开发系列:1688图片搜索API/item_search_img - 按图搜索1688商品(拍立淘)API 返回值说明_API技术爱好者的博客-程序员秘密

为了进行电商平台1688的API开发,首先我们需要做下面几件事情。1)开发者注册一个账号2)然后为每个淘宝应用注册一个应用程序键(App Key) 。3)下载1688API的SDK并掌握基本的API基础知识和调用4)利用SDK接口和对象,传入AppKey或者必要的时候获取并传入SessionKey来进行程序开发。5)利用1688平台的文档中心和API测试工具,对接口进行测试。从而了解返回...

PAT1024_字符串统计_pqy000的博客-程序员秘密

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样例:This is a si

VB出现“找不到DAO350.DLL”错误_史玉玲的博客-程序员秘密

前两天打开VB,突然就蹦出来错误了,我也没有动它呀,错误是“找不到DAO350.DLL文件”为什么会出现这个问题呢?可能是你卸载软件时,误删了共享的DLL文件。 百度说是从网上重新下载一个文件放到“C:\Program Files\Common Files\Microsoft Shared\DAO”文件里,再重新注册一下这个文件。我的文件是在C:\Program Files

Java常见异常(Runtime Exception )小结 ._fangqun663775的博客-程序员秘密

本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。1. 异常机制 1.1 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。1.2 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家

centos7 mysql数据库安装和配置_WWWWWWWWolf的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

随便推点

AxCrypt源码编译安装_weixin_34388207的博客-程序员秘密

近段时间一直在搞一个开源的加解密软件,这玩意挺实用的,对于该软件的介绍我就在这里不多说了,直接切入正题。本文档编译的版本为:AxCrypt-1.7.2976.0-Source使用的vs版本是:vs2010旗舰版编译后生成的是Debug版本的。按照标准文档,所需要的额外的工具或者库有如下:(1)Crypto++ 5.6.1(或者更高版本)下...

工业相机编程模型和流程_文大侠666的博客-程序员秘密

本文详述常见工业相机工作流程,总结它们的编程模型和编程流程。只要弄懂这里面的过程,基本上标准的工业相机都是这样做的,再对工业相机编程就会很简单了。

渗透测试——情报收集阶段——漏洞扫描(OpenVAS)_YT--98的博客-程序员秘密

漏洞扫描原理与漏洞扫描器网络漏洞扫描指的是利用一些自动化的工具来发现网络上各类主机设备的安全漏洞,这些自动化工具通常称为漏洞扫描器。根据应用环境的不同,漏洞扫描通常可分为:黑盒扫描 和 白盒扫描。黑盒扫描:一般是通过远程识别服务的类型和版本,对服务是否存在漏洞进行判定。白盒扫描:在具有主机操作权限的情况下进行漏洞扫描。白盒扫描的结果更加准确,但一般来说它所识别出的漏洞不应当作为外部渗...

Centos 6.5 本地局域网基于HTTP搭建YUM_weixin_30519071的博客-程序员秘密

服务端配置init 3 文本 init5 图形 init 0 关机 init 1 重启ls 查看 mkdir创建文件关闭防火墙serviceiptablesstopchkconfigiptablesoff关闭selinuxgetenforce0挂载isomount -o loop -t CentOS-6.5-x86_64...

Cache之组相连映射_组相联映射r代表什么_DrCrypto的博客-程序员秘密

简单说就是,组相连映射是直接映射和全相连映射的一种折中。具体的执行策略是:将Cache进行分组,数量记为Q,每组有R个字块。 设i是Cache的组号,j是主存的块号,那么一个主存块怎么映射到组中呢? i = j mod Q根据这个计算式,应该明白,相邻的主存块映射在不同Cache组中。那么我们需要仔细研究一下这个时候的主存地址怎么分配。格局和直接映射比较相似:分为高m位和低b位。 高m位也分为

推荐文章

热门文章

相关标签