Pycharm中pyenv和pyvenv使用详解
由于有一次ELK的升级文档写了半天,却忘记保存,以为自动保存的,结果发现没有了,打击了积极心,很久不曾更新这个博客,但是最近开发一个项目,需要python的多环境,使用的技术pyenv和pyvenv,最初几个概念老是搞混,耽误了很多时间,网上各种博客也没有解释清楚(当然也有可能是自己理解有误),这里就把我的一些理解说出来,供大家参考下:
这里介绍几个工具:pyenv、pyvenv、 venv、virtualenv、pyenv-virtualenv
1、概念理解
virtualenv: 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换。其实不是非常爱捣腾的话,此工具就已经可以应付同python版本多环境问题了,安装使用也非常简单
virtualenvwrapper: 是一组对virtualenv的扩展(请参阅docs )。 它给你的命令像mkvirtualenv , lssitepackages ,特别是在不同的virtualenv目录之间切换的工作。 如果您想要多个virtualenv目录,此工具特别有用,由于我使用的pycharm来开发的,每个项目里面一个,所以这个对我来说没啥用
pyenv: 用于隔离Python版本,这样可以来系统中随意使用python版本,而不至于影响到线上环境
pyenv-virtualenv: pyenv-virtualenv是与pyenv相同的作者pyenv的插件,可以方便地同时使用pyenv和virtualenv,如果是用vim进行开发的话,那么这个非常的方便,但是由于我使用的是pycharm开发,所以这里我并没有使用.
pyvenv:是Python 3附带的脚本但是 在Python 3.6中弃用 因为它有问题(更不用说令人困惑的名字)。在Python 3.6+中,确切的等价物是 python3 -m venv
venv: 是Python 3附带的一个包,您可以使用它运行 python3 -m venv (虽然由于某种原因,一些发行版将它分成一个单独的发行版包,例如 python3-venv 在Ubuntu / Debian上)。它的用途与此类似 virtualenv,并以非常类似的方式工作,但它不需要复制Python二进制文件(除了在Windows上)。如果你不需要支持Python 2可以尝试.实际上我部分业务的部署是使用的这个模块
2、对应模块的部署以及使用(这里只介绍 virtualenv和pyenv的使用)
2.1 virtualenv的安装和使用
- 安装 virtualenv:
pip install virtualenv
- 使用方法:
#创建 cd project_dir virtualenv venv virtualenv -p /usr/local/bin/python3 venv # 指定python版本 #激活虚拟环境(autoenv感兴趣的人可以试试,自动激活) cd venv source ./bin/activate #退出虚拟环境 deactivate
-
pycharm中的使用 (自带了这个模块,只用配置即可)
我这里用pyenv管理python模块,所以解释器的路径如上图所示,大家可以根据自己的需要在Base interpreter:那栏里填上自己想要的python版本(相当于指令指定python版本),可以放心使用,不会影响到本身的python
2.2 pyenv和pyenv-virtualenv的使用(这里实在懒得写了,就用我日常的指令代替,大家自行理会)
brew install pyenv brew intall pyenv-virtualenv echo -ne “ export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi “ >> ~/.zshrc brew link zlib --force #install CFLAGS="-I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ pyenv install -v 3.6.3 pyenv rehash # 卸载 $ pyenv uninstall 2.7.3 #常见错误 1、如果提示没有pip这个指令 pyenv shell 2.7.5 curl https://bootstrap.pypa.io/get-pip.py | python #pyenv常用指令 pyenv virtualenv 2.7.5 env275 pyenv virtualenv-delete env275 $ pyenv shell pypy-2.2.1 $ pyenv shell —unset $ pyenv activate env271 # 退回到系统环境 $ pyenv deactivate
热门文章
- 3月5日 | Clash Verge每天更新22.8M/S免费节点订阅链接地址
- 幼猫一定要跟人睡,不然就一直叫唤是为什么(小奶猫要和人睡)
- 人用针剂跟畜用针剂一样吗(兽用针和人用针的针同的吗?)
- 3月20日 | Clash Verge每天更新21.1M/S免费节点订阅链接地址
- 小猫养成大猫要多久(小猫养成大猫要多久才能长大)
- 动物疫苗在哪里买的到正规的(动物疫苗在哪打)
- Web前端:JavaScript和Nodejs有什么不同?
- 孕妇被猫抓流血了,会影响胎儿发育吗(孕妇被猫抓流血了,会影响胎儿发育吗视频)
- 3月2日 | Clash Verge每天更新18.1M/S免费节点订阅链接地址
- 3月30日 | Clash Verge每天更新18.6M/S免费节点订阅链接地址