如何在Windows中安装多个python解释器


Posted in Python onJune 16, 2020

在windows10系统下安装两个不同版本的的python解释器,在通常情况下编译执行文件都是没问题的,但是加载或下载包的时候pip的使用就会出现问题,无法下载一直报错

​仅对cpython有效

一、virtualenvwrapper-win的安装

virtualenvwrapper-win会自动把virtualenv也安装

1、注:安装全过程不能更新pip,一定不能更新pip;

​第一,这里更新用不到;

​第二,创建的虚拟环境中可以更新pip

​第三,如果更新pip两个解释器的pip会出现冲突导致其中一个被删掉,被删掉的pip的python解释器将无法下载安装任何包这里的virtualenvwrapper-win也将不能下载

2、注:未特殊标注得的命令打开cmd就可执行,无需切换到项目路径下

1、先安装第一个python解释器,这里以python3.6为例

​python官网:https://www.python.org/

2、给python3.6安装virtualenvwrapper-win

​在cmd中执行命令:pip install virtualenvwrapper-win

pip install virtualenvwrapper-win

​注:此时电脑中只能存在一个python解释器,因为多个解释器会出现pip冲突,导致pip无法使用;

​在安装完virtualenvwrapper-win后再安装其它解释器

3、安装第二个python解释器,这里以python3.7为例

​python官网:https://www.python.org/

4、配置环境变量

​(1)一般情况下在安装python解释器的时候会勾选 add path 这个选项,默认添加

​(2)如果忘记勾选就手动添加,找到python解释器的安装路径,这以我自己的python路径为例

如何在Windows中安装多个python解释器

​(3)找到python路径后打开 -> 此电脑 -> 的属性找到 -> 高级系统设置 -> 进入系统属性 -> 进入环境变量,在系统变量中找到path -> 点击编辑 ->点击新建加入python环境变量

如何在Windows中安装多个python解释器

​(4)安装的每个python解释器版本都要保证在环境变量中能找到对应的路径一个解释器对应两个变量路径,保险起见要把系统变量和用户变量都添加。

​(5)最重要的一步就是环境的变量是有顺序的,默认系统是从上向下寻找第一个解释器的变量,把第一个变量对应的解释器作为默认的解释器,在cmd中执行python --version 查看版本信息与路径是否相符

如何在Windows中安装多个python解释器

5、给python3.7安装virtualenvwrapper-win

​在cmd中执行命令:pip install virtualenvwrapper-win

pip install virtualenvwrapper-win

注:每个解释器都安装一下virtualenvwrapper-win,这样可以避免通过 virtualenv -p 切换创建虚拟环境报错:error 13 无效路径/或路径找不到的这种错误

6、安装完成后查看一下安装状态

​查看状态的命令:virtualenv --version

virtualenv --version

7、创建虚拟环境

​注:创建不同解释器的虚拟环境时,要切换默认解释器状态;比如我想创建一个python3.6的虚拟环境,我需要先去找到系统的环境变量和用户变量把puthon3.6的环境变量放到其它python解释器版本的环境变量的上面,使cmd中 执行命令:python --version 显示的版本变成python 3.6;同理,重复上面的操作可实现不同python解释器版间的切换

​通过解释器版本切换创建不同版本的虚拟环境,创建命令如下

​创建虚拟环境命令:mkvirtualenv 文件名(虚拟环境)

mkvirtualenv python36

​创建成功后会自动进入虚拟环境,由于我已创建,所以就用进入命令来模拟创建后的结果

如何在Windows中安装多个python解释器

8、删除虚拟环境

​删除虚拟环境命令:rmvirtualenv 文件名(虚拟环境的文件名)

​可在虚拟环境中执行,也可不在虚拟环境中执行,都会实现删除效果

rmvirtualenv python36

9、退出虚拟环境命令:deactivate

​这个是在虚拟环境中使用的,用来退出虚拟环境的命令

deactivate

10、查看当前存在的所有虚拟环境

​查看命令:workon 或 lsvirtualenv

​可以通过这两个命令来查看当前存在的所有虚拟环境,单个使用,其中的任何一个都可以

workonlsvirtualenv

11、进入某个虚拟环境

​进入某个虚拟环境的命令:workon python36

workon python36[/code]

12、查看所有虚拟环境已经安装的所有包

​查看所有已安装的第三方包命令(不需要进入虚拟环境):lssitepackages

lssitepackages

13、跳转到虚拟环境所在的目录

​跳转命令(在虚拟环境中执行):cdvirtualenv

cdvirtualenv

二、更换源

​ 为什么更换源,因为默认情况下pip里面下载一些第三方包很慢,所以可以换源,也就是换一个下载地址来实现第三方包的安装,以达到快速下载的目的

(1)进入该文件夹:C:\Users\wylshkjj\AppData\Roaming

(2)进入文件夹后查看该文件夹中是否有pip这个文件夹,默认是不存在的,所以自己在当前文件夹中创建一个pip文件夹。

(3)在pip文件夹中创建一个名为pip.ini的文件,使用记事本或notepadd++等软件打开,在里面复制如下内容:

[global]
timeout = 6000
index-url = https://pypi.doubanio.com/simple
trusted-host = pypi.douban.com

timeout:指超时时间,就是此时间后为下载就停止下载申请,然后返回错误状态

index-url:镜象下载源,下载第三方包的地方

trusted-host:就是域名,不需要了解,直接把镜象源的域名放到这就行

如何在Windows中安装多个python解释器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现猜数字游戏(无重复数字)示例分享
Mar 29 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
May 03 Python
Python中input与raw_input 之间的比较
Aug 20 Python
Python切片索引用法示例
May 15 Python
python爬取个性签名的方法
Jun 17 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
python中使用 unittest.TestCase单元测试的用例详解
Aug 30 Python
python+opencv实现目标跟踪过程
Jun 21 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 #Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 #Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 #Python
Pytorch 使用CNN图像分类的实现
Jun 16 #Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 #Python
Python SMTP配置参数并发送邮件
Jun 16 #Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 #Python
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP安全配置
2006/12/06 PHP
Yii2 queue的队列使用详解
2019/07/19 PHP
JS中setTimeout()的用法详解
2013/04/14 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
javascriptvoid(0)含义以及与"#"的区别讲解
2019/01/19 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
Python是编译运行的验证方法
2015/01/30 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python移位运算的实现
2019/07/15 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
python异步Web框架sanic的实现
2020/04/27 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
简单的JAVA编程面试题
2013/03/19 面试题
期末总结的个人自我评价
2013/11/02 职场文书
应届生财务管理求职信
2013/11/06 职场文书
软件工程师岗位职责
2013/11/16 职场文书
铁路工务反思材料
2014/02/07 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
英语老师推荐信
2014/02/26 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
终止合同协议书范本
2016/03/22 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis