
linux安装pyenv以及设置virtualenv虚拟环境详解
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 | useradd python |
4.使用python用户登录后,从github上下载pyenv
git clone git://github.com/yyuu/pyenv.git .pyenv
5.在python用户的~/.bash_profile中追加
1 | export PATH="/home/python/.pyenv/bin:$PATH" |
6.pyenv安装python
pyenv install --list/-l
查看当前可安装的版本pyenv install <version>
进行安装
如:
1 | pyenv install 3.5.3 # 安装python3.5.3 |
以上安装是常规安装,速度较慢。如果在上不了网的情况下,或是要加快安装速度,可以在.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
安装ipythonpip install ipython
安装jupyterpip 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 | c.NotebookApp.ip='0.0.0.0' # 就是设置所有ip皆可访问 |
4.pip安装包列表的导出导入
pip freeze > /tmp/packs.txt
pip install -r /tmp/packs.txt