如何优雅的解决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本地的版本本质来说是不一样的,不知这样理解是否正确?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在
windows
上建议安装virtualenvwrapper-win,直接pip install virtualenvwrapper-win
即可;默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量WORKON_HOME
来定制。mkvirtualenv venv
mkvirtualenv --python=C:\Python\Python37\python.exe venv
rmvitualenv venv
lsvirtualenv
workon
workon venv
deactivate
可以参考
楼上正解,python 多个版本共存,目前试过的最好方法还是使用虚拟环境,windows 下没怎么测试过,但 linux,确实可以做到完全脱离,安装的包也都可以分开,这个包确实是神器。
我借鉴了npm的环境切换工具nvm,通过修改软连接的方式切换实际的本地python环境。主要是node-gyp会检测本地的python实环境,这个通过虚拟环境好像是解决不了的。然后我自己用go写了一个并不完整的工具pyvm,以后有需求再继续写下去。