python3.8和3.7共存,Windows10上解决python3.7与python3.8共存的问题
背景:因为一些原因,需要同时用到python3.7的32位与python38. 平时以3.8 64位为主环境。
python,pip,pip3,都是运行在3.8下;
python37,pip37,pip3.7都是运行在3.7下;
一、分别安装python3.7,python3.8,确保3.7与3.8运行都正常
可能踩到的坑,安装完python3.7后,3.7运行正常。安装完python3.8后,3.8运行正常,再次运行3.7时一直报错,如下:
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
哪怕是卸载3.7与3.8,重启系统后再次仅安装3.7,环境变量也指向3.7,但就是报上面的错误。
解决办法:设置PYTHONPATH环境变量,指向:
PYTHONHOME=C:\Users\dengq\AppData\Local\Programs\Python\Python37-32
PYTHONPATH=%PYTHONHOME%\DLLs;%PYTHONHOME%\Lib;%PYTHONHOME%\Lib\site-packages
然后3.7就好了,不报上面的错误了,即使再把上面的两个环境变量删除,重启系统,也是好的,很奇怪的问题。
二、修改3.7中pip.exe文件
按照如下链接中所述,修改3.7中pip.exe的名称与二进制文件内容
修改pip.exe二进制文件中python.exe的位置
把python37-32\python.exe改名与python37.exe
把python37-32\pythonw.exe改名与pythonw37.exe
把python37-32\Scripts\pip.exe改名与pip37.exe
按照上面链接中所述,修改pip37.exe文件中引用的python.exe路径,改为引用python37.exe文件。
网上的文章都是到这一步就可以了,但我又踩到一坑,修改完成后,
运行python37.exe正常
运行pip37.exe报错
补充知识:安装python时pip.exe中写死了引用的Python.exe文件的绝对路径,因为我们修改python.exe文件的名称,所以需要同步修改pip.exe中引用的路径,否则会报找不到python.exe的错误
三、重新安装3.7中的pip
前提:
运行python37.exe正常
运行pip37.exe报错
运行完以下命令后,会在python37-32\Scripts目录下重新生成pip.exe,pip3.exe,pip3.7.exe。仅保留一个且改名为pip37.exe,另外的所有文件全部删除
python37 -m pip install --upgrade pip --force-reinstall
采用此命令重新安装pip时,pip.exe中会自动指向python37.exe文件,不会像初次安装那样指向python.exe
[引用原谅链接](https://blog.csdn.net/weixin_42101177/article/details/102971339)
最终环境变量设置,以下目录都需要加入到PATH中:
python37-32;python37-32\Scripts;python38;python38\Scripts;
python3.8和3.7共存,Windows10上解决python3.7与python3.8共存的问题相关推荐
- Windows10上使用VS2017编译OpenCV3.4.2+OpenCV_Contrib3.4.2+Python3.6.2操作步骤
1. 从https://github.com/opencv/opencv/releases 下载opencv-3.4.2.zip并解压缩到D:\soft\OpenCV3.4.2\opencv-3.4. ...
- python2和python3如何共存_Windows上python2和python3共存
1.找到python2安装目录 2.将应用程序中的python重命名为python2,或自行定义. 3.为python2设置系统变量中的path变量.注意,记得加上英文的分号. 验证:输入python ...
- python3.8安装教程-二、Python2.7的安装并与Python3.8共存
一:Python解释器为什么要2个版本? 众所周知,Python2.7是一个过渡版本. 很多公司写的项目并不是基于最新的Python3写的,在之后进行一些项目更改的时候,Python3的语法有一些并不 ...
- 在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法
前言 鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望 ...
- 在Windows10上安装CentOS7子系统
在Windows10上安装CentOS7子系统 由于客户使用的服务器主要是linux的系统,redhat或centos等,而日常办公更多的是使用windows系统,这样就导致有时候做一些调试或者问题复 ...
- windows10上为jupyter notebook切换指定conda环境
windows10上为jupyter notebook切换指定conda环境 1.当前状态 2. 制作kernel环境 3.加载环境 4.验证是否成功 1.当前状态 2. 制作kernel环境 查看已 ...
- mysql5.7.11解压版_Mysql5.7.11在windows10上的安装与配置(解压版)_MySQL
第一步 my-default.ini 添加配置: #绑定IPv4和3306端 bind-address = 127.0.0.1 port = 3306 # 设置mysql的安装目 basedir= E ...
- 从windows上传到linux服务器的php图片生成不了,windows10上用thinkphp5开发程序上传服务器后出现图片异常的问题...
1.发现问题.经过测试,发现在windows10上浏览一切正常,上传图片浏览正常,但是上传到linux服务器后出现上传图片浏览失败的情况. 2.图片名称如果全部是英文,不包含中文等特殊字符,则在lin ...
- redis在windows10上跑起来
redis在windows10上跑起来 原文:redis在windows10上跑起来 今天,开始学习redis,发现大多数redis都是在Linux上面运行的,可是我想把它放到windows上面运行, ...
最新文章
- 学生电脑哪个牌子好_贺州腻子粉哪个牌子好
- jzoj1273-袁绍的刁难【进制转换】
- Pandas使用小技巧
- net应用程序中发生了未经处理的异常怎么办_介绍一些在.NET Core 3.0中引入的诊断改进工具...
- JAVA 正则表达式4种常用的功能
- Android 英文文档下载地址
- MXY---Docker
- VS中加入组件的方法
- 线性代数知识框架梳理
- 51单片机最小系统原理图、PCB及组成原理详解
- NLP-文本处理:词性消歧
- 2016 杭州云栖大会随笔
- 人一生中要学会说的十种话
- 海康相机RTSP连接代码分析
- 一仓库失窃,四管理员被传讯_如何找到丢失或失窃的Android手机
- vue子元素点击事件与父元素点击事件冲突 子元素点击事件不触发
- [Tool]系统截图工具
- 三键调光调色带定时遥控台灯方案-DLT8T10S-杰力科创
- OpenGL Glut剖析(2)--平行投影及其显示范围
- Visifire图表
热门文章
- 转hdmi_LT8619CHDMI转LVDS-HDMI支持高达4Kx2K_30Hz的分辨率
- java字符串替换 数组,Java工具类-拆分字符串组装数组,替换字符
- 英文字符串过长,QLabel显示不全的问题
- Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
- CoCreateInstance调用返回代码0x80040154的一种解决方法
- Halcon PDF文档(hdevelop_users_guide)学习总结之四——关于3D显示模式
- Portal widget 插入 widget
- RAC11g使用数据泵导入导出报ORA-6512,ORA-25306,ORA-39079错
- shell制表与脚本运行进度条写法
- 操作系统概念学习笔记 4 操作系统结构和操作简述