zoukankan      html  css  js  c++  java
  • 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:ToolsOfficeToolsPythonPython39python3.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的安装目录即可解决

    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:UsersAdministratorAppDataLocalPrograms;
            删除Python文件夹;
            打开控制面板>> 删除程序,找到Python,右键点击更改;
            点击Repair (Uninstall的上一个选项);
            完成后再按照上面的方法就可以正常卸载了。

    2、cmd命令行报错

       由于找不到python39.dll,无法继续执行代码问题解决

      这个是由于我们的高版本的虽然卸载了但是其环境变量仍然没有去除导致的,

      打开我们的环境变量配置信息,将用户变量的path和系统的path内的去除的python的环境变量都给去除,即可

       

    借鉴:https://blog.csdn.net/lvanboy/article/details/88199395

  • 相关阅读:
    Java中的Stream流
    JDK1.8之后的新特性和新接口
    IOS6和IOS7的屏幕适配问题
    OC特有语法-分类(category)
    UIApplication的作用
    IO中手机旋转事件的传递
    代码,显示IPhone剩余磁盘空间
    iOS程序的加载过程
    TableView数据源方法的执行顺序
    多线程之线程死锁
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/15066952.html
Copyright © 2011-2022 走看看