目录
(1).部署miniconda
(2).miniconda常用命令
(3).demo试练
1.创建并切换到虚拟环境simple-flask-app
2.一个简单的flaskapp
3.其他
之前写python都是用的virtualenv,后来发现miniconda更简练好用,现在改用minicodna,特写此文备案。
钉钉交流群(实战架构):23394754
(1).部署miniconda
下载miniconda:
wgethttps://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
安装miniconda:
sh Miniconda2-latest-Linux-x86_64.sh
根据提示完成每一步。
默认安装路径位于:/$Home/miniconda2
笔者是用的root安装,所以环境变量配置:
vim /etc/profile
export PATH=$PATH:/root/miniconda2/bin
验证是否安装成功:
[root@future bin]# conda --version
conda 4.7.12
(2).miniconda常用命令
命令
用途
1
conda list
查看安装了哪些包。
2
conda env list
或者
conda info -e
查看当前存在哪些虚拟环境。
3
conda update conda
检查更新当前conda。
4
conda create -n env_name python=x.x(如2.7,3.6等)
创建python虚拟环境
5
source activate env_name(虚拟环境名称)
使用激活(切换虚拟环境)
6
source deactivate
退出当前虚拟环境
7
conda remove --name env_name package_name
删除环境中的某个包。
8
conda update -n base -c defaults conda
更新conda到最新版本
(3).demo试练
1.创建并切换到虚拟环境simple-flask-app
使用conda创建一个虚拟环境,运行一个简单的python flask程序。
创建一个名为simple-flask-app,python版本为3.6的虚拟环境:
conda create -nsimple-flask-apppython=3.6
如果本地没有对应的python版本会进行下载和安装,时间比较久。
查看env list,可以看到虚拟环境创建成功:
[root@future ~]# conda env list
# conda environments:
#
base * /root/miniconda2
simple-flask-app /root/miniconda2/envs/simple-flask-app
我们切换到虚拟环境simple-flask-app:
[root@future ~]# source activate simple-flask-app
(simple-flask-app) [root@future ~]#
查看当前虚拟环境下的python依赖包:
(simple-flask-app) [root@future ~]# pip freeze
certifi==2019.11.28
需要安装flask
pip install flask
至此,完成准备工作。
2.一个简单的flaskapp
from flask import Flask, request
import os
import urllib.request
app = Flask(__name__)
@app.route('/env/')
def show_env(env):
return os.environ.get(env)
@app.route('/fetch')
def fetch_env():
url = request.args.get('url', '')
with urllib.request.urlopen(url) as response:
return response.read()
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7777, debug=True)
启动服务:python main.py
验证服务:
[root@future simple-flask-app]# curl http://127.0.0.1:7777/env/PATH
/root/miniconda2/envs/simple-flask-app/bin:/root/miniconda2/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/app/3rd/apache-maven-3.5.4/bin:/app/3rd/jdk1.8.0_221/bin:/usr/local/go/bin:/root/go/bin:/root/bin:/app/3rd/apache-maven-3.5.4/bin:/app/3rd/jdk1.8.0_221/bin:/usr/local/go/bin:/root/go/bin:/app/3rd/apache-maven-3.5.4/bin:/app/3rd/jdk1.8.0_221/bin:/usr/local/go/bin:/root/go/bin:/app/3rd/istio-1.4.2/bin:/app/3rd/apache-maven-3.5.4/bin:/app/3rd/jdk1.8.0_221/bin:/usr/local/go/bin:/root/go/bin:/app/3rd/istio-1.4.2/bin:/app/3rd/apache-maven-3.5.4/bin:/app/3rd/jdk1.8.0_221/bin:/usr/local/go/bin:/root/go/bin:/app/3rd/istio-1.4.2/bin:/root/miniconda2/bin
3.其他
本文的python文件备份于:
https://github.com/istio-learning/istio-demo/tree/master/istio-1.4.2/simple-flask-app
其实这个文件来源于书籍《深入浅出Istio:Service Mesh快速入门与实践》的一个例子,本文是在准备试验istio1.4.2时顺手些的一个备案,将python的一个简单使用文档化。
关于本文的这个python-demo如何进行istio1.4.2体验,之后会在上述github目录下的readme中附注。
笔者开发python习惯用vim,非常方便高效,linux如何部署vim参见文章:
虽然名为vim-go,实际上默认安装python3的vim支持,也可以直接用于开发python。