pyenv安装方式

1.没有git就先装git

2.安装依赖

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

3.单独创建一个python用户

1
2
useradd python
passwd python

4.使用python用户登录后,从github上下载pyenv

git clone git://github.com/yyuu/pyenv.git .pyenv

5.在python用户的~/.bash_profile中追加

1
2
3
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

6.pyenv安装python

pyenv install --list/-l 查看当前可安装的版本
pyenv install <version> 进行安装
如:

1
2
3
pyenv install 3.5.3     # 安装python3.5.3
pyenv install 2.7.6 # 安装python2.7.6
pyenv install 3.5.3 -v # 加v可查看安装过程(推荐)

以上安装是常规安装,速度较慢。如果在上不了网的情况下,或是要加快安装速度,可以在.pyenv文件夹下手工创建cache文件夹,将提前下载好的包拷入该文件夹。
注意:由于pyenv在安装时具有一定随机性,不好确定它是要用gz的包,tgz的包,或是tar包。如果它没有找到想要的包,还是会联网下载。为了避免这种情况,最好将几种格式的包都放到cache文件夹中备着,pyenv爱用哪个用哪个

7.pyenv常用命令

pyenv version #显示当前使用的Python
pyenv which python #显示当前Python的安裝路径
pyenv global #设置默认的Python版本(全局设置,影响太大,一般禁用)
pyenv local #在当前路径创建一个.python-version,以后进入这个目录自动切换为该版本
pyenv shell #在当前shell的session中启用某个Python版本,优先级高于global,local(会话级的,会话断了环境同时也不存在了,一般也不推荐用)

例如,要在当前的工程文件夹建立python 3.5.3的环境,则进入该工程文件夹,输入:
pyenv local 3.5.3

pyenv virtualenv插件创建虚拟环境,更好地进行环境隔离

在多人开发的时候,仅仅只是在文件夹中应用local是不够的,所有人的包都会装在一起。这时候就需要创建一个专属于自己的环境,自己安装自己想要的包

1.插件安装

git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv 

2.创建一个虚拟环境

pyenv virtualenv 3.5.3 hooray353

3.进入工程文件夹,应用虚拟环境

pyenv local hooray353

4.pip安装包

pip通用配置(修改pip源,加快pip安装速度)
创建 ~/.pip/pip.conf
内容为:
    [global]
    index-url=https://mirrors.aliyun.com/pypi/simple/ 
    trusted-host=mirrors.aliyun.com

安装ipython
pip install ipython
安装jupyter
pip install jupyter
设置jupyter的密码
jupyter notebook password
启动jupyter:
jupyter notebook --ip=0.0.0.0 --no-browser //注意:这里的–ip=0.0.0.0表示将端口8888绑在任意地址上(默认是在localhost上),如果你想在服务器上启用jupyter notebook,在远程浏览器上访问,就一定要加这个选项;–no-browser是指不打开本地的浏览器

特别注意,大大的坑:
如果这时在浏览器上访问不了,就要检查防火墙!
如启用了防火墙,就要把防火墙关了或允许http访问
另外:
1.如果是虚拟机的NAT模式,想要在宿主机上也采用localhost:8888访问,可以做端口映射,在虚拟机的虚拟网络编辑器中修改NAT的设置,参考:

2.如果不想每次启动jupyter都去手动加参数,可以对jupyter进行一些配置
(1)生成配置文件:
jupyter notebook --generate-config
(2)修改配置文件:
在生成的配置文件(~/.jupyter/jupyter_notebook_config.py)的最后加入

1
2
c.NotebookApp.ip='0.0.0.0' # 就是设置所有ip皆可访问
c.NotebookApp.open_browser = False # 禁止自动打开浏览器

4.pip安装包列表的导出导入

pip freeze > /tmp/packs.txt
pip install -r /tmp/packs.txt