基于vagrant 搭建 pipenv虚拟 python开发环境
搭建时花费了半天去解决过程中遇到的各种奇怪的坑,应当要记录下来。
virtualbox版本:6.0.14
vagrant 版本:2.2.6
box: ubuntu/xenial64
新建Box并导入
本地开发目录下(我的是X:development/env/xenial/
):
vagrant init ubuntu/xenial64
会在目录下生成Vagrantfile,我做了如下配置:
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "private_network", ip: "192.168.33.20"
config.vm.synced_folder "./www", "/vagrant"
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
end
Python配置
Linux 下大都自带了python,使用起来非常的方便,这个box自带了python3.5.2,因此直接在它的基础上安装pip和pipenv即可。
~$ python
Python 3.5.2 (default, Oct 8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
安装pip
sudo apt-get install python-pip
安装pipenv
pip install pipenv
创建虚拟Flask开发环境
在项目目录中执行:
pipenv install
搭建Flask开发环境
安装flask
pipenv shell
pipenv install flask
测试项目
在项目目录中创建app.py文件并保存。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>:)</h1> Hello! Flask.'
保存后执行:
pipenv run flask run --port=8080 --host=0.0.0.0
# 如果已经在虚拟环境下(即已经使用pipenv shell激活了虚拟环境
# 执行 flask run --port=8080 --host=0.0.0.0 即可
如果没有出现报错信息,console会提示如下:
- Environment: production
WARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.
- Debug mode: off
- Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
你服务器的访问地址为0.0.0.0:8080,打开主机的浏览器输入http://192.168.33.20:8080 即可看到下图:
现在,你就可以专心学习Flask了。