共计 2306 个字符,预计需要花费 6 分钟才能阅读完成。
Python 工作环境治理
Python2 和 Python3 之间存在 较大的差别 ,且因为各种起因导致 Python2 和 Python3 的 长期共存 ( 尽管 2020 年 1 月 1 日 Python2 曾经不再保护,然而网络上的代码和书???? 上仍然有局部采纳 Python2)
理论工作中,可能 同时须要用到 Python2 和 Python3,常常须要在 Python2 和 Python3 之间 切换
- 比方:Centos默认装置 的是 Python2 版本,而且 yum 工具中 也在应用python2, 然而日常学习中应用 python3 作为开发环境
Pyenv – 治理不同的 Python 版本
Pyenv:Python 版本管理工具,能够 装置多个不同的 Python 版本 ,不同的 Python 版本之间 切换 也比较简单
- 装置多个不同的 Python 版本
- 实现不同 Python 版本的切换(蕴含 pip)
切换 Python 的版本之后,与版本相干的依赖 (pip) 也会一起切换,不必放心不同版本在零碎中是否互相烦扰
Pyenv 的网址
- Pyenv 不能装置在 Windows 零碎上
- 在 Windows 零碎上装置 pyenv-win 工具, 是 Pyenv 的适应版本,操作统一
Pyenv 的装置
- Pyenv 提供了装置的办法
间接从 GitHub 下载我的项目到本地, 设置环境变量和启动主动补全的性能
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
正克隆到 '/home/test/.pyenv'...
remote: Enumerating objects: 39, done.
remote: Counting objects: 100% (39/39), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 18096 (delta 17), reused 24 (delta 10), pack-reused 18057
接管对象中: 100% (18096/18096), 3.61 MiB | 4.00 KiB/s, done.
解决 delta 中: 100% (12306/12306), done.
$echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval"$(pyenv init -)"\nfi' >> ~/.bash_profile
装置实现之后须要从新载入配置文件 source .bash_profile
Pyenv 的应用
- 查看 pyenv 以后反对的版本, 通过 install 命令
pyenv 能够装置不同的 Python 版本,也能够装置不同的 Python 实现
pyenv install --list
-
装置 Python
pyenv install -v 3.8.0
- Pyenv 是 下载源码包编译装置的,须要提前装置依赖
-
pyenv 会从官网地址下载相应的版本,比较慢, 而且常常失败
- 能够 从其余中央下载到源码包 ,放到
~/.pyenv/cache
目录下,再执行装置,会应用曾经存在的源码包
# 提前装置依赖 $ yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel git # 从其余的源装置 $ v=3.8.0; wget https://npm.taobao.org/mirrors/python//$v/Python-$v.tar.xz -P ~/.pyenv/cache/; pyenv install $v
- 能够 从其余中央下载到源码包 ,放到
-
查看以后存在的版本
pyenv versions
- 输入后果后面带
*
示意 以后应用的版本
- 输入后果后面带
- 抉择不同的 Python 版本
pyenv global 3.8.0
- 删除 Python 版本
pyenv unistall 3.8.0
virtualenv – 治理不同的我的项目
virtualenv 自身是一个独立的我的项目,用以 隔离不同我的项目的工作环境
- 须要应用不同的 NumPy 的版本,显著不能应用惯例的办法在一台服务器上实现
- virtualenv 将不同的 numpy 装置到不同的工作环境中,须要那个,进入那个工作环境
组合 Pyenv 和 virtualenv 就能够实现 Python 和第三方库任意版本的组合,领有弱小的灵活性,防止我的项目之间的烦扰
virtualenv 是一个 独立的工具 ,能够独自应用,然而如果 应用了 Pyenv,就 须要装置 pyenv-virtualenv 插件,而不是通过 virtualenv 软件应用 virtualenv 性能
pyenv-virtualenv 网址
pyenv-virtualenv 的装置
pyenv-virtualenv 的装置
$ git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
$ echo 'eval"$(pyenv virtualenv-init -)"' >> ~/.bash_profile
与 pyenv 装置相似,实现之后须要从新载入配置文件 source .bash_profile
装置实现之后,能够 为同一个 Python 解释器装置多个不同的工作环境
- 查看工作环境
pyenv virtualenvs
- 通过
activate
和deactiveta
进入和退出一个工作环境