概述
在实际的开发工作或上线环境中,由于Python的版本和包库版本比较多,项目的协同开发会比较杂乱,一般我们都会要求对服务器的Python环境进行隔离,本文将带大家搭建一个Python虚拟环境和基于网页的用于交互计算的应用程序Jupyter Notebook。
一、创建普通用户
# 创建一个jupyter用户
adduser jupyter
# 添加sudo权限
echo 'jupyter ALL=(ALL) NOPASSWD: ALL' >>/etc/sudoers
# 切换jupyter用户
su - jupyter
二、安装Python版本管理器pyenv
# 安装依赖
sudo yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
# 安装python版本管理工具pyenv
curl -L https://gitee.com/zx576/pyenv-installer/raw/master/bin/pyenv-installer | bash
# 将pyenv添加到jupyter用户的环境变量中
vim ~/.bashrc:
export PATH="/home/jupyter/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
# 刷新环境变量配置文件
source ~/.bashrc
# 验证pyenv版本
pyenv -v
pyenv 1.2.6
三、安装Python3.7.1
# pyenv默认只有3.7.0、3.7-dev、3.8-dev版本的python,我们增加一个python3.7.1版本的配置
vim ~/.pyenv/plugins/python-build/share/python-build/3.7.7
#require_gcc
install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "https://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.7.1" "http://112.73.92.40:8090/python/Python-3.7.1.tgz" ldflags_dirs standard verify_py37 ensurepip
else
install_package "Python-3.7.1" "http://112.73.92.40:8090/python/Python-3.7.1.tgz" ldflags_dirs standard verify_py37 ensurepip
fi
# 安装python3.7.1
pyenv install 3.7.1 -v
# 查看python本版
pyenv versions
四、pyenv管理Python版本
# 切换python本版
# [global 全局设置、shell 会话设置、local 目录设置(子目录继承)]
pyenv local 3.7.1
# virtualenv 虚拟环境(site-packages独立分开)
pyenv virtualenv 3.7.1 env37
pyenv local env37
五、安装Python编码工具-iPython&jupyter
# 安装ipython: 支持tab补全的Python shell&jupyter: 支持Python的Web编译器
pip3 install ipython
pip3 install jupyter
# 使用jupyter前先设置密码
jupyter notebook password
eflycloud.com
[NotebookPasswordApp] Wrote hashed password to /home/jupyter/.jupyter/jupyter_notebook_config.json
# iPyhton生成密钥的方法
ipython
>>>from notebook.auth import passwd
>>>passwd()
# 挂后台启动jupyter notebook
setsid jupyter notebook --ip=0.0.0.0 >>/var/log/jupyter.log &
# 如需修改jupyter的配置,先生成模板
jupyter notebook --generate-config
# 配置路径为~/.jupyter/jupyter_notebook_config.py
# 常使用的配置:
#c.NotebookApp.ip='*' ## 允许访问名单
#c.NotebookApp.password = u'sha:ce...' ##可用 ipython生成密钥,
#c.NotebookApp.open_browser = False ##启动后是否打开browser
#c.NotebookApp.port =8888 ## 指定服务端口
基于睿江云服务器搭建的demon
大家可以免费试用(有期限):睿江云demon链接,密码是www.eflycloud.com
end.
好了各位,以上就是这篇文章的全部内容了,我们后面会有常用技术栈相关的文章。感谢大伙能看到这里,如果这个文章写得还不错, 求关注公众号睿江云计算!!! 创作不易,感谢各位的支持和认可,我们下篇文章见!