美文网首页
2、Python-多版本管理

2、Python-多版本管理

作者: JXeddy | 来源:发表于2020-02-04 16:01 被阅读0次

安装Homebrew

[https://www.jianshu.com/p/113b3f184d15](https://www.jianshu.com/p/113b3f184d15)
https://www.cnblogs.com/meilong/p/Python-de-ban-ben-kong-zhi.html

安装pyenv

输入

通过Homebrew安装pyenv
$ brew update
$ brew install pyenv

输出

Updating Homebrew...
==> Installing dependencies for pyenv: autoconf, openssl@1.1, pkg-config and readline
==> Installing pyenv dependency: autoconf
==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.catalina.bottle.4.tar.gz
==> Downloading from https://akamai.bintray.com/ca/ca510b350e941fb9395522a03f9d2fb5df276085d806ceead763acb95889a368?__gda__=exp=1580630008~hmac=c630e674b3c90f775ee801e29e3eaa11edf
######################################################################## 100.0%
==> Pouring autoconf-2.69.catalina.bottle.4.tar.gz
🍺  /usr/local/Cellar/autoconf/2.69: 67 files, 3.0MB
==> Installing pyenv dependency: openssl@1.1
==> Downloading https://homebrew.bintray.com/bottles/openssl@1.1-1.1.1d.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/d7/d7f992ebfd78f80828051f6dc6a1a99aed405f86b0f39ea651fd0afeadd1b0f4?__gda__=exp=1580630037~hmac=6de51c5ca9152d88c69a9ebd74ec04a6fca
######################################################################    98.6%
curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
Error: Failed to download resource "openssl@1.1"
Download failed: https://homebrew.bintray.com/bottles/openssl@1.1-1.1.1d.catalina.bottle.tar.gz
Warning: Bottle installation failed: building from source.
==> Downloading https://www.openssl.org/source/openssl-1.1.1d.tar.gz
############                                                              17.1%
curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
Trying a mirror...
==> Downloading https://dl.bintray.com/homebrew/mirror/openssl@1.1--1.1.1d.tar.gz
-=#=#   #   #
curl: (22) The requested URL returned error: 404 Not Found
Trying a mirror...
==> Downloading https://www.mirrorservice.org/sites/ftp.openssl.org/source/openssl-1.1.1d.tar.gz
######################################################################## 100.0%
==> perl ./Configure --prefix=/usr/local/Cellar/openssl@1.1/1.1.1d --openssldir=/usr/local/etc/openssl@1.1 no-ssl3 no-ssl3-method no-zlib darwin64-x86_64-cc enable-ec_nistp_64_gcc
==> make
==> make test
==> make install MANDIR=/usr/local/Cellar/openssl@1.1/1.1.1d/share/man MANSUFFIX=ssl
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because openssl/libressl is provided by macOS so don't link an incompatible version.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> Summary
🍺  /usr/local/Cellar/openssl@1.1/1.1.1d: 7,976 files, 17.9MB, built in 37 minutes 44 seconds
==> Installing pyenv dependency: pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.catalina.bottle.1.tar.gz
==> Downloading from https://akamai.bintray.com/c0/c0a6927c8e404f6db8b14d6644a218b22ddb0d27be1fa0a69d15bf0d9a6875ae?__gda__=exp=1580633490~hmac=7d642b27cc42f9cbb3d328e9a0eaaf878b9
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.catalina.bottle.1.tar.gz
🍺  /usr/local/Cellar/pkg-config/0.29.2: 11 files, 623KB
==> Installing pyenv dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-8.0.1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/ab/ab3c966f4cae7d0f3ecc5688bb989820c3261f5ed547a08c84186ba7f53bdd9c?__gda__=exp=1580633499~hmac=b80d5515aff468b8d02e4811f7d32fa8538
######################################################################## 100.0%
==> Pouring readline-8.0.1.catalina.bottle.tar.gz
==> Caveats
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

For pkg-config to find readline you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/readline/8.0.1: 48 files, 1.5MB
==> Installing pyenv
==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.16.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/1d/1da51fb67d5aac04bda57820d4bf9cc4454a6674a99c98fec4e42c8a32fa8dac?__gda__=exp=1580633508~hmac=ff60297f7aef52440bd66a3f5f79ec7b834
######################################################################## 100.0%
==> Pouring pyenv-1.2.16.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/pyenv/1.2.16: 671 files, 2.5MB
==> Caveats
==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because openssl/libressl is provided by macOS so don't link an incompatible version.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

==> readline
readline is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/usr/local/opt/readline/lib"
  export CPPFLAGS="-I/usr/local/opt/readline/include"

For pkg-config to find readline you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"

主体:
pyenv 是一款特别好用的Python版本管理器,程序员可以建立不同的目录,在不同的目录里分别运行不同版本的Python, 并且互不影响,安装的包也互不影响。
github项目地址:https://github.com/yyuu/pyenv

插件:
pyenv-virtualenv 是pyenv的一个plugin(插件),可以用来创建基于不同Python版本的干净的虚拟环境。github项目地址:https://github.com/yyuu/pyenv-virtualenv

1.安装pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2.设置环境变量:

#vim ~/.bashrc 
export PYENV_ROOT="$HOME/.pyenv" 
export PATH="$PYENV_ROOT/bin:$PATH" 
eval "$(pyenv init -)"
source ~/.bashrc
exec $SHELL

3.使用-查询可安装版本

查看pyenv支持的python版本,同时也是检验有没有安装成功:
pyenv install --list

4.使用-已安装版本

查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 标示.
pyenv versions

查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)

pyenv version   

作为全局变量,使用如下命令.
pyenv global 3.5.1
pyenv version

安装你需要的Python版本(如3.4.0):
pyenv install 3.4.0 -v

卸载python 3.4.0版本.
pyenv uninstall 3.4.0

4.pyenv-virtualenv 安装

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
gedit ~/.bashrc
eval "$(pyenv virtualenv-init -)"
source ~/.bashrc
exec $SHELL

5 使用
pyenv-virtualenv是用来创建一个干净的虚拟Python环境的命令,通常在创建干净的新项目时候使用。使用方法如下:
1.创建虚拟环境–pyenv virtualenv 版本号 虚拟环境名。
$ pyenv virtualenv 3.5.1 venv-3.5.1

创建项目,让项目使用干净的Python3.5.1的虚拟环境:

$ mkdir myproject
$ cd myproject
$ pyenv local venv-3.5.1
pyenv-virtualenv: deactivate
pyenv-virtualenv: activate venv-3.5.1

此后,我们就会发现:只要我们进入myproject目录,就会自动激活virtualenv,退出myproject目录,就会关闭virtualenv。
如果要关闭自动激活,可以运行命令pyenv deactivate,要重新启用的话,运行pyenv activate 虚拟环境名。

相关资料:https://www.cnblogs.com/meilong/p/Python-de-ban-ben-kong-zhi.html

2-1、Python-pyenv

https://www.jianshu.com/p/c47c225e4bb5
https://www.cnblogs.com/meilong/p/Python-de-ban-ben-kong-zhi.html

相关文章

  • 2、Python-多版本管理

    安装Homebrew 安装pyenv 输入 输出 主体:pyenv 是一款特别好用的Python版本管理器,程序员...

  • Ubuntu管理软件的多个版本

    update-alternatives(维护系统命令链接符) 可用来管理多版本的JDK,python等 管理多版本...

  • Mac下Python环境搭建、多版本管理

    1、查看Python版本python 多版本管理 参考网站:Mac多Python版本共存,多个独立Python开发...

  • python 多版本管理

    使用 pyenv: brew update brew install pyenv brew upgrade pye...

  • Python多版本管理

    背景使用python的同学肯定遇到过以下这些情况:1)系统自带的Python是2.x,自己需要Python 3.x...

  • python多版本管理

    mac不要轻易的安装新版本的python!mac不要轻易的安装新版本的python!mac不要轻易的安装新版本的p...

  • Anaconda管理多版本

    如何创建 创建一个名为snake的环境,指定版本为3.6 这样系统会自动在envs目录下创建文件夹snake并下载...

  • python多版本管理

    pyenv 介绍维护不同版本的 Python一键(命令)切换全局、本地或当前 shell 使用的 Python 版...

  • python多版本管理

    作者:oliverhuang 来源:简书mac不要轻易的安装新版本的python!mac不要轻易的安装新版本的p...

  • python多版本管理

    python多版本管理 背景 python2.x 已经停止维护,日常开发中一般都使用 python3.x 的版本,...

网友评论

      本文标题:2、Python-多版本管理

      本文链接:https://www.haomeiwen.com/subject/hmchoctx.html