windows 同时安装python2和python3并配置虚拟环境
一、Python3 与 python2 环境搭建
1、首先去官网下载对应版本的python解释器,这里建议python2下载2.7 python3下载3.6
首先是因为python2.7是很经典的2版本,3版本的要选择3.7一下的,因为后续使用django框架的话,django1.1版本和django2.X的版本就好比python2和python3的区别,
我们要使用django的话 必须要python3.7以下的才能支持django1.11
2、下载:https://www.python.org/downloads/windows/
二、修改python安装包对应的启动配置
1、下载完成后,为了区别python2与python3的版本,修改如下2个文件名,python3同理
注意:
python3版本需要特别注意:将安装目录下的更改后的python3.exe和pythonw3.exe复制到任意一目录下,然后更名为python.exe和pythonw.exe然后再复制到python3的安装目录
不然再创建虚拟环境的时候经常会因为你更名后而报错
2、配置环境变量
修改后,将Script目录的路径和PYTHON2目录路径,添加至环境变量,python3同理如下:
3、在cmd命令行中查看python版本是否修改完毕并安装对应的版本的pip
3.1: 在cmd命令行中输入python2 和python3分别查看是否生效
3.2:安装对应的环境的pip
打开命令行输入命令: Python3 -m install –upgrade pip –force-reinstall Python2 -m install –upgrade pip –force-reinstall
* 查看各python版本对应的pip
当提示LookupError: unknown encoding: cp65001的时候需要设置
set PYTHONIOENCODING=UTF-8
二、虚拟环境配置
创建虚拟环境:
因为现在是新版本3.5以后的并且还更改了python为python3了,还是用python3 -m venv venv 来安装是会提示报错的
输入命令pip3 install virtualenv,安装virtualenv,这个脚本用户体验差,正是因为这个原因virtualenvwrapper出现了,但virtualenv也是必须安装的,因为 virtualenvwrapper依赖它
1、安装virtualenv
pip3 install virtualenv
2、再安装virtualenvwrapper
pip3 install virtualenvwrapper-win
无论你当前命令行中在哪个目录中,最终会安装在Script目录中
3、配置虚拟环境存放的位置
Mkvirtualenv test 创建名为test的虚拟环境,但在使用这个命令之前,配置虚拟环境存放的位置,默认C盘,指定系统变量WORKON_HOME,它的值就是存放虚拟环境的目录,如下:
4、创建虚拟环境
还需要注意的是,因为这是python2和python3共存,所以在创建虚拟环境时,还需要指定这个虚拟环境使用python2还是python3解析
Mkvirtualev -p=python2或者python3的路径 虚拟环境名字
mkvirtualenv -p=你的制定python版本 虚拟环境名称
mkvirtualenv -p=D:\Tools\OfficeTools\Python\Python39\python3.exe testOne
配置了虚拟环境的存放环境变量后就是存放在了配置的环境变量下
虚拟环境存放在我们之前设置的WORKON_HOME的值,对应的目录中
* 报错 :FileNotFoundError: [Errno 2] No such file or directory: 'd:\\tools\\officetools\\python\\python36\\pythonw.exe'
这个是因为你的python 目录下运行文件需要调整 将安装目录下的更改后的python3.exe和pythonw3.exe复制到任意一目录下,然后更名为python.exe和pythonw.exe然后再复制到python3的安装目录即可解决
也可以使用:
创建虚拟环境的命令 :
- 提示:如果不指定python版本,默认安装的是python2的虚拟环境
-
在python2中,创建虚拟环境
-
mkvirtualenv 虚拟环境名称 例 : mkvirtualenv py_django
-
- 在python3中,创建虚拟环境
-
mkvirtualenv -p python3 虚拟环境名称 例 : mkvirtualenv -p python3 py3_django
-
-
提示 :
- 创建虚拟环境需要联网
- 创建成功后, 会自动工作在这个虚拟环境上
- 工作在虚拟环境上, 提示符最前面会出现 “虚拟环境名称”
5、查看一共有多少个虚拟环境
workon
6、直接进去并启动虚拟环境
workon + 虚拟环境名称
workon testOne 进入并启动虚拟环境testOne
也可以进入到这个虚拟环境所下载的目录下的Scripts下输入activate激活这个虚拟环境
7、删除虚拟环境
rmvirtualenv 要删除的虚拟环境名称
8、退出虚拟环境
deactivate
9、命令总结
命令 | 作用 |
workon | 列出当前所有的虚拟环境 |
mkvirtualev -p=python2或者python3的路径 虚拟环境名字 | 创建虚拟环境 |
workon 虚拟环境 cd 虚拟环境目录下的Scrpits 输入activate |
激活虚拟环境 |
deactivate | 关闭虚拟环境 |
rmvirtualenv 虚拟环境名称 | 删除虚拟环境 |
三、使用pycharm加载虚拟环境
1、如果你是第一次使用pycharm,会有一个新建项目的窗口
点开project interpreter,配置如下:
2、非新pycharm打开项目
如果你不是第一次使用pycharm,而是想修改项目的虚拟环境,通过
File->settings->Project->project interpreter,修改原理同上
3、演示:创建虚拟环境并安装django.11
3.1 :建立虚拟环境
3.2、激活虚拟环境并安装django1.11
3.3、建立django项目并初始化表结构
我再次建立一个名为One的django项目
3.4、创建django后台管理用户
3.5、pycharm导入虚拟环境并配置环境信息
File--->Open 打开刚才创建的名为One的django项目
打开File--->Settings-->Project-->Python Interpreter点击右上角的add然后对应的虚拟环境下的Scripts下的python.exe解释器
选到对应环境的下的Scripts下的python.exe
四:报错:
1、卸载报错
当我们的版本装的太高,要卸载了装低版本时,卸载的时候会出现: 卸载Python时报错:No Python 3.6 installation was detected
从控制面板-卸载程序中找到Python,右键点击卸载;然后点击最下面的Uninstall进行卸载。
问题是,当我在最后一步点击Uninstall进行卸载时,出现报错:No Python 3.6 installation was detected,无法卸载Python。
此时可以按照下面的步骤来解决:
打开C:\Users\Administrator\AppData\Local\Programs;
删除Python文件夹;
打开控制面板>> 删除程序,找到Python,右键点击更改;
点击Repair (Uninstall的上一个选项);
完成后再按照上面的方法就可以正常卸载了。
2、cmd命令行报错
由于找不到python39.dll,无法继续执行代码问题解决
这个是由于我们的高版本的虽然卸载了但是其环境变量仍然没有去除导致的,
打开我们的环境变量配置信息,将用户变量的path和系统的path内的去除的python的环境变量都给去除,即可
3、报错:AttributeError: module 'typing' has no attribute 'NoReturn'
先说一下本人使用的环境背景:
windows10;
python3.6.1;
这是当我创建完虚拟环境后执行pip操作报错,这个时候要去根据报错更改虚拟环境中的pip下的__init__.py文件
解决: 将对应文件内的 -> t.NoReturn 给去除掉,即可解决。
本次解决报错借鉴:https://blog.csdn.net/weixin_43815275/article/details/119214261
以上解决并不正确,应该是下面的方法解决:
原因分析:
Python版本过低,Python在3.6后更新变化很大
解决方案:
安装较新版本的Python,3.6.2以上即可解决问题
借鉴:https://blog.csdn.net/lvanboy/article/details/88199395