最近学习Python有点多,特别是一些关于Python的问题也随之而来了,今天小猿圈Python讲师就总结些知识点,希望帮助正在学习Python的同学,今天分享的是Python两大环境管理神器pyenv和virtualenv。
pyenv是一个开源的Python版本管理工具,可以轻松地给系统安装任意Python版本,想玩哪个版本,瞬间就可以切换。有了pyenv,我们不需要再为系统多版本Python共存问题而发愁,也不用为手动编译安装其他Python版本而浪费时间,只需要执行一条简单的命令就可以切换并使用任何其他版本,该工具真正地做到了开箱即用,简单实用。
virtualenv是一个用来创建完全隔离的Python虚拟环境的工具,可以为每个项目工程创建一套独立的Python环境,从而可以解决不同工程对Python包,或者版本的依赖问题。假如有A和B两个工程,A工程代码要跑起来需要requests1.18.4,而B工程跑起来需要requests2.18.4,这样在一个系统中就无法满足两个工程同时运行问题了。最好的解决办法是用virtualenv给每个工程创建一个完全隔离的Python虚拟环境,给每个虚拟环境安装相应版本的包,让程序使用对应的虚拟环境运行即可。这样既不影响系统Python环境,也能保证任何版本的Python程序可以在同一系统中运行。
最佳实践:使用pyenv安装任何版本的Python,然后用virtualenv创建虚拟环境时指定需要的Python版本路径,这样就可以创建任何版本的虚拟环境,这样的实践真是极好的!
pyenv的安装及使用:
1、安装
将pyenv安装到~/.pyenv目录(当然你可以安装到任意其他路径)
gitclonehttps://github.com/yyuu/pyenv.git~/.pyenv
配置环境变量(我的Shell是zsh,如果是bash,请添加到~/.bashrc)
echo'exportPYENV_ROOT="$HOME/.pyenv"'>>~/.zshrc
echo'exportPATH="$PYENV_ROOT/bin:$PATH"'>>~/.zshrc
添加pyenv初始化(我的Shell是zsh,如果是bash,请添加到~/.bashrc)
echo'eval"$(pyenvinit-)"'>>~/.zshrc
使当前Shell配置生效,完成安装
exec$SHELL
source~/.zshrc
2、使用
查看有哪些Python版本可以安装
pyenvinstall--list
安装某个Python版本
pyenvinstall-v3.6.4
查看当前Python版本情况(*表示系统当前的Python版本,system表示系统初始版本)
$pyenvversions
system
2.6.7
*3.6.4(setby/Users/haohao/.pyenv/version)
切换Python版本(切换之后查看当前版本)
$pyenvglobal3.6.4
$pyenvversions
system
*3.6.4(setby/Users/haohao/.pyenv/version)
$python-V
Python3.6.4
卸载某个Python版本
pyenvuninstall3.6.4
virtualenv的安装及使用
1、安装
sudopipinstallvirtualenv
2、使用
下面我们使用virtualenv创建一个完全隔离的Python虚拟环境:
1、新建一个目录(一般用来用作工程路径)
$mkdirmyproject
2、进入目录创建一个完全独立干净的虚拟环境
如果virtualenv后面不加任何参数,那么默认创建的虚拟环境的Python版本是系统当前版本,如果要创建其他版本,可以使用-p参数指定其他版本的python可执行文件路径。可执行文件可以在上一步安装的pyenv的~/.pyenv/versions路径找到,该路径是pyenv管理的所有Python版本路径。
#使用系统当前的Python版本创建虚拟环境
$virtualenvvenv
Newpythonexecutablein/Users/haohao/PycharmProjects/myproject/venv/bin/python
#创建虚拟环境时指定Python版本
$virtualenv-p~/.pyenv/versions/2.6.7/bin/pythonvenv
Runningvirtualenvwithinterpreter/Users/haohao/.pyenv/versions/2.6.7/bin/python
Newpythonexecutablein/Users/haohao/PycharmProjects/myproject/venv/bin/python
Installingsetuptools<37,pip,wheel<0.30...done.
3、激活创建的虚拟环境并使用
可以看出当前虚拟环境版本已经是Python2.6.7了,而且所在路径确实是在上一步创建的虚拟环境路径。接下来使用pip安装的任何包都会安装在虚拟环境目录里面,不会安装在系统标准目录,从而保证当前环境是绝对干净的,对于系统是完全隔离的。
$sourcevenv/bin/activate
$whichpython
/Users/haohao/PycharmProjects/myproject/venv/bin/python
$python-V
Python2.6.7
4、退出虚拟环境,回到系统版本
$deactivate
想要了解更多关于Python开发方面内容的小伙伴,请关注我或者到小猿圈去观看Python交流群:242719133。在IT电子行业如此激烈的环境下,笑到最后的才是赢家,但就目前趋势Python的未来昭然若揭,想学习Python的小伙伴可以到小猿圈观看最新最全面视频教程。
网友评论