如何优雅的解决python版本共存问题和对于anaconda的一些疑问

如何优雅的解决python版本共存问题和对于anaconda的一些疑问

系统环境

  • Win10

问题的引出

对于原生node模块的编译需要依赖python2的环境,默认下载自动安装了本地python环境变成了python2,但是实际存在基于python3的开发需求,并且版本环境的切换需求就跟node版本的管理一样需要。

尝试解决

看过很多的解决方案,干掉了本地python3的环境,并且把python开发环境的搭建换成了anaconda(默认的python2仍然存在),但是使用anaconda创建的虚拟环境难道只能在命令行内使用吗?不能真的切换本地的python版本?使用pycharm可以解决基于特定虚拟环境的python编程,但是如果默认使用python作为shell来执行py文件,这个问题仍然还是存在的。

对anaconda的疑问

在anaconda的文档阅读和使用过程中,感觉是作为了虚拟环境的包管理工具,而没有真的改变本地真实环境的python版本,跟nvm直接切换node本地的版本本质来说是不一样的,不知这样理解是否正确?


回答:

  • 安装virtualenvwrapper

windows上建议安装virtualenvwrapper-win,直接pip install virtualenvwrapper-win即可;默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量 WORKON_HOME 来定制。

  • 新建虚拟环境
    mkvirtualenv venv

  • 指定python版本
    mkvirtualenv --python=C:\Python\Python37\python.exe venv

  • 删除虚拟环境
    rmvitualenv venv

  • 列出所有虚拟环境
    lsvirtualenv
    workon

  • 激活虚拟环境
    workon venv

  • 退出虚拟环境
    deactivate

可以参考

  1. https://blog.csdn.net/kan2016...
  2. https://www.cnblogs.com/pytho...


回答:

楼上正解,python 多个版本共存,目前试过的最好方法还是使用虚拟环境,windows 下没怎么测试过,但 linux,确实可以做到完全脱离,安装的包也都可以分开,这个包确实是神器。


回答:

我借鉴了npm的环境切换工具nvm,通过修改软连接的方式切换实际的本地python环境。主要是node-gyp会检测本地的python实环境,这个通过虚拟环境好像是解决不了的。然后我自己用go写了一个并不完整的工具pyvm,以后有需求再继续写下去。

以上是 如何优雅的解决python版本共存问题和对于anaconda的一些疑问 的全部内容, 来源链接: utcz.com/p/937825.html

回到顶部