背景:因为一些原因,需要同时用到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共存的问题相关推荐

  1. 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. ...

  2. python2和python3如何共存_Windows上python2和python3共存

    1.找到python2安装目录 2.将应用程序中的python重命名为python2,或自行定义. 3.为python2设置系统变量中的path变量.注意,记得加上英文的分号. 验证:输入python ...

  3. python3.8安装教程-二、Python2.7的安装并与Python3.8共存

    一:Python解释器为什么要2个版本? 众所周知,Python2.7是一个过渡版本. 很多公司写的项目并不是基于最新的Python3写的,在之后进行一些项目更改的时候,Python3的语法有一些并不 ...

  4. 在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法

    前言 鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望 ...

  5. 在Windows10上安装CentOS7子系统

    在Windows10上安装CentOS7子系统 由于客户使用的服务器主要是linux的系统,redhat或centos等,而日常办公更多的是使用windows系统,这样就导致有时候做一些调试或者问题复 ...

  6. windows10上为jupyter notebook切换指定conda环境

    windows10上为jupyter notebook切换指定conda环境 1.当前状态 2. 制作kernel环境 3.加载环境 4.验证是否成功 1.当前状态 2. 制作kernel环境 查看已 ...

  7. mysql5.7.11解压版_Mysql5.7.11在windows10上的安装与配置(解压版)_MySQL

    第一步 my-default.ini 添加配置: #绑定IPv4和3306端 bind-address = 127.0.0.1 port = 3306 # 设置mysql的安装目 basedir= E ...

  8. 从windows上传到linux服务器的php图片生成不了,windows10上用thinkphp5开发程序上传服务器后出现图片异常的问题...

    1.发现问题.经过测试,发现在windows10上浏览一切正常,上传图片浏览正常,但是上传到linux服务器后出现上传图片浏览失败的情况. 2.图片名称如果全部是英文,不包含中文等特殊字符,则在lin ...

  9. redis在windows10上跑起来

    redis在windows10上跑起来 原文:redis在windows10上跑起来 今天,开始学习redis,发现大多数redis都是在Linux上面运行的,可是我想把它放到windows上面运行, ...

最新文章

  1. 学生电脑哪个牌子好_贺州腻子粉哪个牌子好
  2. jzoj1273-袁绍的刁难【进制转换】
  3. Pandas使用小技巧
  4. net应用程序中发生了未经处理的异常怎么办_介绍一些在.NET Core 3.0中引入的诊断改进工具...
  5. JAVA 正则表达式4种常用的功能
  6. Android 英文文档下载地址
  7. MXY---Docker
  8. VS中加入组件的方法
  9. 线性代数知识框架梳理
  10. 51单片机最小系统原理图、PCB及组成原理详解
  11. NLP-文本处理:词性消歧
  12. 2016 杭州云栖大会随笔
  13. 人一生中要学会说的十种话
  14. 海康相机RTSP连接代码分析
  15. 一仓库失窃,四管理员被传讯_如何找到丢失或失窃的Android手机
  16. vue子元素点击事件与父元素点击事件冲突 子元素点击事件不触发
  17. [Tool]系统截图工具
  18. 三键调光调色带定时遥控台灯方案-DLT8T10S-杰力科创
  19. OpenGL Glut剖析(2)--平行投影及其显示范围
  20. Visifire图表

热门文章

  1. 转hdmi_LT8619CHDMI转LVDS-HDMI支持高达4Kx2K_30Hz的分辨率
  2. java字符串替换 数组,Java工具类-拆分字符串组装数组,替换字符
  3. 英文字符串过长,QLabel显示不全的问题
  4. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
  5. CoCreateInstance调用返回代码0x80040154的一种解决方法
  6. Halcon PDF文档(hdevelop_users_guide)学习总结之四——关于3D显示模式
  7. Portal widget 插入 widget
  8. RAC11g使用数据泵导入导出报ORA-6512,ORA-25306,ORA-39079错
  9. shell制表与脚本运行进度条写法
  10. 操作系统概念学习笔记 4 操作系统结构和操作简述