如何优雅的解决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
可以参考
- https://blog.csdn.net/kan2016...
- https://www.cnblogs.com/pytho...
回答:
楼上正解,python 多个版本共存,目前试过的最好方法还是使用虚拟环境,windows 下没怎么测试过,但 linux,确实可以做到完全脱离,安装的包也都可以分开,这个包确实是神器。
回答:
我借鉴了npm的环境切换工具nvm,通过修改软连接的方式切换实际的本地python环境。主要是node-gyp会检测本地的python实环境,这个通过虚拟环境好像是解决不了的。然后我自己用go写了一个并不完整的工具pyvm,以后有需求再继续写下去。
以上是 如何优雅的解决python版本共存问题和对于anaconda的一些疑问 的全部内容, 来源链接: utcz.com/p/937825.html