Windows下关于Python2和Python3共存时的虚拟环境问题

记录一下创建虚拟环境的问题

电脑上python2和python3都安装了,同时系统的环境变量Path配置完成。python2的安装目录下执行程序是python.exe,python3的安装目录下执行程序是python3.exe。
使用 virtualenvwrapper-win 管理工具创建python3虚拟环境时出现了一些问题。

1.cmd执行python时进入python2环境,执行python3时进入python3环境。

此时使用Pycharm创建项目时使用virtualenv创建虚拟环境报错 Error:[WinError 2] 系统找不到指定的文件 ,这个原因是因为pycharm默认会去python3的安装目录下找python.exe去创建虚拟环境,但此时那个位置的执行程序名字已经被我改成了python3.exe,所以会创建失败。

在这里插入图片描述
我安装过了 virtualenvwrapper-win 这个虚拟环境管理工具,此时可以直接在cmd使用 mkvirtualenv flask01 创建一个flask01虚拟环境,但是进入虚拟环境后无法使用pip命令安装第三方模块(可以正常使用python3进入shell),报错 No python at “D:\Python\python.exe”
在这里插入图片描述解决办法:

  • 将python3安装目录下的python3.exe改成python.exe
  • 将python2安装目录下的python.exe改成python2.exe

修改完成后cmd执行python进入python3环境,执行python2进入python2环境。

这时会发现Pycharm可以使用virtualenv创建虚拟环境了。但是会引发另一个问题: virtualenvwrapper-win 这个虚拟环境管理工具的 mkvirtualenv 命令无法使用了(其它命令如workon deactivate rmvirtualenv都正常),解决办法如下:

2.cmd执行python时进入python3环境,执行python2时进入python2环境。
这时直接使用mkvirtualenv + 环境名 报错Fatal error in launcher:Unable to create process using D:\xxx\xxxx.exe" 系统找不到指定的路径

这个错误的原因是mkvirtualenv去寻找python3.exe这个程序创建虚拟环境,但是python3.exe已经在上一步中被改名成了python.exe,所以虚拟环境创建失败(这里已经可以正常使用virtualenv创建虚拟环境了,如果不需要使用virtualenvwrapper-win这个管理工具的话之后的步骤可以忽略)
在这里插入图片描述在cmd中(虚拟环境外面)执行pip也会报错:Fatal error in launcher: Unable to create process using '“D:\Python\python3.exe” “D:\Python\Scripts\pip.exe” ': ??? 引发这个错误的原因和上面一样。

在这里插入图片描述解决办法:

  • 在python3的安装目录下将上一步改名的python.exe复制一份,并命名为python3.exe

现在使用Pycharm的virtualenv可以正常创建虚拟环境,同时virtualenvwrapper-win管理工具也可以正常使用。

3.总结

  1. 将python3安装目录下的python3.exe改成python.exe
  2. 将python2安装目录下的python.exe改成python2.exe
  3. 在python3的安装目录下将 1 中改名的python.exe复制一份,并命名为python3.exe

刚入门python,虽然是很小的问题,但也折腾了一下午才解决了。。。可能会有更简单的方法,大佬们勿喷。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值