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上面运行, ...
最新文章
- 基于docker部署的微服务架构(四): 配置中心
- Prism学习笔记(三):对Prism中模块化程序的理解。
- word 公式编号 右侧对齐_word排版实例:如何将文档中的公式与文字对齐
- c++申请内存空间_有没有想过:malloc分配的内存空间地址连续吗
- react封装子组件弹框
- 查询limit_MySQL查询语句(where,group by,having,order by,limit)
- 浅谈帆软报表的权限授权,以便于二次开发
- 【java学习之路】(java SE篇)009.IO
- java heap space 解决方法_内存溢出错误:java堆空间
- 快速备份和还原 MySQL 数据库的另一种方法
- SQL Server添加Check约束
- 短信平台接口怎么选择?看这一篇就够了
- zip知识点的部分总结!
- 手机QQ空间装逼代码收集
- (十:2020.08.28)CVPR 2018 追踪之论文纲要(译)
- Latex转word的一款软件-Pandoc
- SEO的日常主要工作做哪些
- Appium JAVA ios 设备 AUT not install
- 45亿换1000万学生,互联网在线教育“火烧赤壁”能否有霸主横空出世?
- html四舍五入函数,Javascript四舍五入(Math.round()与Math.pow())
热门文章
- php header什么意思,php header的用法是什么
- python logging使用_[译]Python Logging 使用指南
- 计算机辅助工艺设计主要内容,计算机辅助工艺设计.ppt
- python idle使用教程_PythonIDLE使用教程
- Win10 下Visual Studio 2017源码编译Paddle
- js tostring 16 java_js中toString()和String()区别详解
- vue如何在手机上查看vue-cli构建的项目
- Spring Cloud学习(一)
- Apache Mnemonic成为Apache顶级项目,主要解决大数据性能问题
- Unity 官方教程 学习