1.关于pyenv

(1)pyenv是一个开源的、shell脚本编写的工具;Simple Python version management

(2)为什么使用pyenv:当多个项目同时在开发与维护时,各个项目可能使用着不同的python版本,使用pyenv能更方便帮助我们管理不同的python版本环境

(3)pyenv源码及其下载安装皆可以在GitHub上找到:

https://github.com/yyuu/pyenv

https://github.com/yyuu/pyenv-installer


2.安装pyenv

1. 安装git

# yum -y install git

2. 安装pyenv

# curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
WARNING: seems you still have not added 'pyenv' to the load path.
# Load pyenv automatically by adding
# the following to ~/.bash_profile:
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

3. 其默认会安装在家目录的.pyenv下,我们可以查看到pyenv命令其实是个链接文件

# ls ~/.pyenv/
CHANGELOG.md LICENSE bin libexec shims versions
COMMANDS.md Makefile cache plugins src
CONDUCT.md README.md completions pyenv.d test
# ll ~/.pyenv/bin/
total
lrwxrwxrwx root root 16 Jan 4 10:52 pyenv -> ../libexec/pyenv

4. 配置环境变量, 在 `~/.bash_profile`里增加如下内容

# vim ~/.bash_profile
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

5. 更新.bash_profile文件或重新登录shell使之生效

# source ~/.bash_profile

6. 这时pyenv命令就可以直接使用了。验证:

# pyenv
pyenv 1.0.6
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme

7. 安装pyenv环境的shell脚本,注意执行这个脚本需要用“source **.sh”的方式

#!/bin/bash

#title:configuration python(pyenv) environment
#author:Jelly_lyj
#date:--
#version:v0. #========================
# Install depend package
#=========================
Ins_pac()
{
echo "Is about to start download depend on the package,please wait..."
yum -y install git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel &>/dev/null
if [ $? -eq ]
then
echo "All depend on the package installation is successful"
else
echo "There is an error, please check"
fi
} #==========================
# download & install pyenv
#==========================
Ins_pyenv()
{
echo "downloading pyenv from github,please wait..."
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash &>/dev/null
if [ $? -eq ]
then
echo "pyenv download successful"
else
echo "pyenv download error,please check"
fi
} #===============================
# configuration path environment
#===============================
Conf_path()
{
sed -i '$i export PATH="~/.pyenv/bin:$PATH"\neval "$(pyenv init -)"\neval "$(pyenv virtualenv-init -)"' ~/.bash_profile
source ~/.bash_profile
} #==========================
# test pyenv
#==========================
Test_pyenv()
{
read -p "现在你可以输入一下pyenv命令,看看是否安装成功了:" py
case $py in
pyenv)
pyenv &>/dev/null
if [ $? -eq ]
then
echo "pyenv命令执行成功,pyenv安装成功"
echo "接下来你可以使用pyenv相关命令和选项操作管理你的python环境啦"
exit
else
echo "没有pyenv这个命令,pyenv没有安装成功"
fi
;;
*)
echo "你咋连pyenv都输错了..."
Test_pyenv
;;
esac
} #=========
# Main()
#=========
Main()
{
Ins_pac
Ins_pyenv
Conf_path
echo "Install and configuration done"
Test_pyenv
} #=========
# 程序入口
#=========
Main

Install_pyenv.sh


3. 使用pyenv安装python

1. 安装编译工具与依赖

*centos环境:
# yum -y install gcc make patch
# yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel *ubuntu环境:
# apt-get -y install gcc make patch
# apt-get -y install libgdbm-dev libssl-dev libsqlite-dev libreadline-dev zlib1g-dev libbz2-dev

2. 安装Python的命令:pyenv install

# pyenv install 3.5.
Downloading Python-3.5.2.tar.xz...
-> https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
...... //pyenv会从官网下载安装包然后自行安装,花的时间可能稍微会长一些

3. 如果上一步进行不下去的解决方法:可在.pyenv下新建cache目录,并将自己下载的安装包放在其中

# mkdir ~/.pyenv/cache
# ls ~/.pyenv/cache/
Python-3.5.2.tar.xz
# pyenv install 3.5.
Installing Python-3.5.2...
patching file Lib/venv/scripts/posix/activate.fish
Installed Python-3.5.2 to /root/.pyenv/versions/3.5.2

4. 使用pyenv管理python环境的常用命令

1. versions命令:查看系统全部全部python版本

(1) 注意pyenv也会管理系统自带的python
(2) *号所在的行表示当前目录正在使用的python版本

# pyenv versions
* system (set by /root/.pyenv/version)
3.5.2

2. local命令:切换Python版本

(1) 这是pyenv十分便利的地方,即可以针对目录来设置python版本
(2) 应当注意:子目录默认会继承父目录的版本
(3) 我们在某个目录中使用了local命令,即会在此目录下生成一个.python-version文件,这里就记录目录的python版本

//新建一个目录py3
# mkdir /py3
//进入py3目录我们可以查看一下这个目录下的当前python版本是什么
# cd py3/
# python -V
Python 2.6.
# pyenv versions
* system (set by /.python-version)
3.5.
//使用local命令切换版本(这些命令tab都可以补全的)
# pyenv local 3.5.2
# python -V
Python 3.5.2s
# pyenv versions
system
* 3.5.2 (set by /py3/.python-version)
//看看当前目录下.python-version文件的内容
# cat .python-version
3.5.
//在py3下新建一个目录看看它的版本
# mkdir /py3/workpace1
# cd workpace1/
# pyenv versions
system
* 3.5.2 (set by /py3/.python-version)

3. global命令:切换全局默认Python版本

4. virtualenv命令
(1) 理解虚拟环境的概念

//python中有很多的第三方包/库
# ls ~/.pyenv/versions/3.5.2/lib/python3.5/site-packages/
README easy_install.py pip-8.1.1.dist-info setuptools
__pycache__ pip pkg_resources setuptools-20.10.1.dist-info
//当多个项目都使用同一个python版本时,不同的项目可能会使用不同版本的第三方包,那么这个问题该如何解决呢?
//故而引出了虚拟环境的概念
//虚拟环境的目的在于隔离,隔离第三方包,因为每个项目可能依赖相同的第三方包,但这些第三方包版本可能不一样

(2)创建虚拟环境 `pyenv virtualenv $python_version $name`

//创建一个名为virtenvname的虚拟环境
# pyenv virtualenv 3.5.2 virtenvname
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/3.5.2/envs/virtenvname/lib/python3.5/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/3.5.2/envs/virtenvname/lib/python3.5/site-packages
//这是我们查看versions目录可以看到这个virtenvname"版本",可以看到这是个链接文件
# ll ~/.pyenv/versions/
total 4
drwxr-xr-x 7 root root 4096 Jan 5 23:27 3.5.2
lrwxrwxrwx 1 root root 44 Jan 5 23:27 virtenvname -> /root/.pyenv/versions/3.5.2/envs/virtenvname
//查看这个链接的目录下的内容,我们可以看到virtenvname的第三方包
# ls ~/.pyenv/versions/3.5.2/envs/virtenvname/lib/python3.5/site-packages/
__pycache__ pkg_resources
easy_install.py setuptools
pip setuptools-20.10.1.dist-info
pip-8.1..dist-info
//虚拟环境就当做“一个版本”按平常的方法来使用即可
# pyenv versions
system
* 3.5.2 (set by /py3/.python-version)
3.5.2/envs/virtenvname
virtenvname

5. uninstall命令:卸载某个版本, 包括虚拟环境

# pyenv uninstall virtenvname
pyenv-virtualenv: remove /root/.pyenv/versions/3.5.2/envs/virtenvname? y
# pyenv versions
system
* 3.5.2 (set by /py3/.python-version)

pip工具

pip是一个Python包的管理工具

//更改pip源的方法(aliyun的快得飞起)
# mkdir /root/.pip
# vim /root/.pip/pip.conf
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com

ipython | jupyter工具

ipython是一个python交互shell的增强工具
jupyter是可以在web端使用python
(注:我的jupyter部署在云服务器上、系统为CentOS、浏览器为firefox)

//创建虚拟环境magedu1
[root@TXY_LYJ py3]# pyenv virtualenv 3.5.2 magedu1
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.yenv/versions/3.5.2/envs/magedu1/lib/python3.5/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/vrsions/3.5.2/envs/magedu1/lib/python3.5/site-packages
[root@TXY_LYJ py3]# pyenv local magedu1
//使用pip安装ipython和jupyter
(magedu1) [root@TXY_LYJ py3]# pip install ipython
(magedu1) [root@TXY_LYJ py3]# pip install jupyter
//打开ipython,为notebook远程生成一个密码
(magedu1) [root@TXY_LYJ py3]#ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:033c3e7745a6:......'
//修改jupyter的配置文件
# cat /root/.jupyter/jupyter_notebook_config.py|egrep -v '^#|^$'
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:033c3e7745a6:......'

[PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)的更多相关文章

  1. Go程序开发---Go环境配置:CentOS6.5+Go1.8标准包安装

    1.Go安装 1.1Go的三种安装方式 Go有多种安装方式,可以选择自己习惯的方式进行,这里介绍三种安装方式: 1)Go源码安装 2)Go标准包安装 3)第三方工具安装 这里主要介绍下Go标准包在Ce ...

  2. Java(JDK/Tomcat/Maven)运行环境配置及工具(idea/eclipse)安装

    Java (计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. Java语 ...

  3. 【适合N卡独显电脑的环境配置】Tensorflow教程-Windows 10下安装tensorflow 1.5.0 GPU with Anaconda

    注意: 1.目前Anaconda 更新原命令activate tensorflow 改为 conda activate tensorflow 2. 目前windows with anaconda 可以 ...

  4. 【适合核显电脑的环境配置】Tensorflow教程-Windows 10下安装tensorflow CPU with Anaconda

    安装TensorFlow 1.5.0 CPU版本 :仅支持CPU的TensorFlow. 如果您的系统没有NVIDIA GPU,则必须安装此版本. 1.首先下载和安装Anaconda TensorFl ...

  5. [环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题

    1.OpenCV-3.2.0+OpenCV_contrib-3.2.0编译安装过程 1)下载官方要求的依赖包 GCC 4.4.x or later CMake 2.6 or higher Git GT ...

  6. 【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)

    1. 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org[使用淘宝镜像]2. 初始化package.json文件c ...

  7. Mac版-python环境配置(一):Python下载安装

    Mac OS X系统自带python,可以在终端输入python查看版本[输入exit()即可退出],如下: 从上图中可以看到,mac自带python 2.7.10,版本相对较低.现在python已升 ...

  8. Python笔记(一):安装+爬虫环境配置+打包为EXE文件

    1.     安装 https://www.python.org/downloads/windows/  到官网下载安装程序 Windows x86        32位操作系统 Windows x8 ...

  9. Java安装和环境配置

    Java安装和环境配置 从事Java开发第一关就是安装JAVA环境. 我们要安装JDK, 全称Java开发全套. 其中包含了JRE(运行时环境), 如果你打游戏的时候可能会提示你缺少JRE. 我们要做 ...

随机推荐

  1. ArcGIS Desktop 10.1+ArcEngine10.1完全破解安装教程(含下载地址+亲测可用!)

    最近在二次开发中用到了VS2010+ArcGIS的二次开发模式,因为之前的某些原因,对ArcGIS的接触甚少.初次安装也遇到了很多问题,这里做一个总结. 系统环境 win732位操作系统 需要文件 ( ...

  2. 用FireBreath来编写跨浏览器插件

    这是对于公司某个需求的临时研究,最后经过简单实验放弃了这个方案,因为编写插件不能满足需求. 下面着重讲一下FireBreath编译. 首先根据文档,用git clone下载Firebreath源码(不 ...

  3. 阿里员工都是这样排查Java问题的,附工具单(转)

    平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮 ...

  4. Megcup2017 Dogfood

    问题描述 小强每天会在小区的某些位置摆一些狗盆,并在狗盆里倒入不同口味的狗粮.而所有的流浪狗都会跑到离自己第k近的狗盆那里吃狗粮,一定的跑动可以帮助狗保持身材. 已知小强牌狗粮目前只有10种口味,我们 ...

  5. 第一次使用Mac

    Mac禁用掉默认输入法 搜狗输入法已经包含中文.英文输入法了,其余输入法可以删除掉.按ctrol键的时候本来应该是搜狗输入法中英文切换,结果却是搜狗输入法和ABC输入法之间互相切换. 打开键盘偏好设置 ...

  6. Linux 日志切割工具cronolog详解

    一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...

  7. STC单片机串口输出ADXL335角度值

    STC单片机串口输出ADXL335角度值: //***************************************************** //名称:单片机串口输出ADXL335角度值 ...

  8. MyEclipse或Eclipse中project的导入和导出

    project的导入:将project放到对应的目录中--打开MyEclipse--光标定位在PackageExp位置(即project创建位置),右键选中并点击"Import-" ...

  9. IAR仿真时绿色箭头一直指向汇编界面,而C界面没有

    设置如下

  10. 常用的apache commons工具,直接使用,便于快速开发

    详情 :http://commons.apache.org/ Components Description Latest Version Released Attributes Runtime API ...