zoukankan      html  css  js  c++  java
  • 使用Pyenv + pipenv来管理python版本和虚拟环境

    使用 pyenv 安装 Python3

    python依赖环境(CentOS):

    yum install readline readline-devel readline-static -y
    yum install openssl openssl-devel openssl-static -y
    yum install sqlite-devel -y
    yum install bzip2-devel bzip2-libs -y
    依赖环境

    每个人的 Python 环境不一致,所以就讲解一下如何利用 pyenv 安装不同版本的 Python。

    在命令行直接输入:

    sudo curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

    执行完成后会提示需要将以下内容加入命令行配置文件:

    export PATH="/root/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
    export LC_ALL=C.UTF-8
    export LANG=C.UTF-8

    使用 bash 命令行则加入到 ~/.bashrc 文件末尾,并执行 source ~/.bashrc。 

    配置生效后,即可通过执行以下命令来安装 Python:

    pyenv install 3.6.5

    Python 安装成功后,可以使用以下命令来切换全局的 Python 版本:

    pyenv global 3.6.5
    

    如果安装下载速度过慢的话,可以先在搜狐的镜像下载源码包,放到 pyenv 的 cache 目录后在执行安装指定版本,例如:

    $ v=3.6.5;wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v  

    或者下载 https://www.python.org/downloads/ 安装包,然后放到pyenv 的 cache 目录后在执行安装指定版本。

    使用 pipenv 安装依赖

    Pipenv 会自动帮你管理虚拟环境和相关依赖,并且提供了一系列命令和选项来帮助你实现各种依赖和环境管理相关的操作。

    简而言之,它更方便、完善和安全。

    安装pipenv

    pip install pipenv

    初始化 Pipfile

    在项目路径中,输入:

    pipenv shell

    Pipenv 会自动在 ~/.local/share/virtualenvs 目录下新建一个虚拟环境 virtualenv 目录,若在当前目录下存在 requirements.txt 文件时,会自动安装里面的库及依赖,并写入到 Pipfile 中。

    最后再执行以下命令就可以在虚拟环境安装依赖包了

    pipenv install
    

    另一种安装依赖包的方法:

    pipenv run pip install -r requirements.txt			# 不能用pipenv install时使用此命令安装
    

      

    若使用 Ubuntu 系统且依赖中的 pyldap 安装失败显示 fatal error: lber.h: No such file or directory,则需要先安装以下库:

    sudo apt-get install -y libldap2-dev libsasl2-dev
    

      

    若执行 pipenv install 速度过慢,可以将 Pipfile 中的 source url 修改为:

    url = "http://mirrors.aliyun.com/pypi/simple"
    
  • 相关阅读:
    Octave/Matlab初步学习
    week_3
    week_2
    week_1
    清除input[type=number]的默认样式
    js,获取和设置cookie、 localStorage
    php表单提交时获取不到post数据的解决方法
    console.log 简写
    JS合并两个数组的方法
    javascript ES5、ES6的一些知识
  • 原文地址:https://www.cnblogs.com/ray-h/p/10870678.html
Copyright © 2011-2022 走看看