概述
在實際的開發工作或上線環境中,由於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.
好了各位,以上就是這篇文章的全部內容了,我們后面會有常用技術棧相關的文章。感謝大伙能看到這里,如果這個文章寫得還不錯, 求關注公眾號睿江雲計算!!! 創作不易,感謝各位的支持和認可,我們下篇文章見!