Flask:使用Eclipse+PyDev插件编辑基于package的项目
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2,Eclipse Oxygen.1a Release (4.7.1a),PyDev 6.3.2
本文记录了 使用Eclipse+PyDev插件编辑Flask项目,目的是解决前面使用Notepad++编辑Python文件时,没有提示和自动补全功能的缺憾。
由于前面的Flask测试项目都是基于单个文件模块的,感觉太简单且没有大用,于是,昨天使劲看了Flask官网的一些文章,其中,Larger Applications介绍了如何基于package来开发更大的项目。刚刚过去的两个小时里,按照此文档的介绍进行了自己的测试,启动了bigflask项目,基于package。
本测试的主要步骤简介:
1.使用Eclipse+PyDev插件建立项目,包括建立项目所需文件和文件夹
最终的目录结构:包括安装、运行后产生的文件夹和文件
2.编写项目的setup.py、setup.cfg文件——用于安装项目
也是在Eclipse中进行;
需要熟悉setuptools模块的用法;
3.使用pip3命令安装bigflask项目
命令行进入bigflask的源文件目录,执行“pip3 install -e .”命令(注意有一个点号);
4.运行项目并测试
本测试步骤详解
1.打开Eclipse,新建PyDev工程bigflask;
2.在bigflask工程下建立源文件夹src,再在PyDev Package bigflask——必须是这个名字,普通文件夹tests,setup.py和setup.cfg文件;
3.在PyDev包bigflask下建立文件夹static、templates和文件views.py,__init__.py是在建立此包时自动创建的;
说明,在Larger Applications文档中,上面建立的PyDev包bigflask应该存在于bigflask文件夹中的,而本测试中是src,但都可以正常运行。
4.编辑源文件
主要是编辑setup.py、__init__.py、views.py,本测试中setup.cfg为空,文件夹tests、static、templates为空。
setup.py的源码
setup函数中的各个配置项,需要查看更多的资料,比如,使用Python Shell中使用help命令查看。
# -*- coding: utf-8 -*- from setuptools import setup setup(
name='bigflask',
packages=['bigflask'],
include_package_data=True,
install_requires=[
'flask',
]
)
__init__.py的源码
# -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) import bigflask.views
views.py的源码
# -*- coding: utf-8 -*-
'''
Created on 2018年5月23日 @author: log
'''
from bigflask import app @app.route('/')
def index():
return "Hello World!"
5.按照之前的方法运行(老方法)
打开Windows命令行,进入bigflask的源文件目录src,设置环境变量,使用flask run运行bigflask项目。
测试:
可以通过http://127.0.0.1:5000/打开页面并看到Hello World!输出。
6.使用pip3 install安装后运行并测试
最开始看文档Larger Applications时,没有明白其中的pip install命令用来干什么的,在试验后发现,它的作用是将bigflask项目安装到Python中。
-e选项的作用是用于 在可编辑模式安装一个模块。后来经过试验才知道,在安装后修改views是可以看到有更新的。更具体的解释我就不清楚了。
那么,进入bigflask的src目录,执行下面的命令安装bigflask:
pip3 install -e .
注意,-e后又一个点号,表示当前目录。
安装成功后,可以使用pip3 list看到已安装的bigflask:
也可以在Python安装目录的Lib\site-packages中找到一个bigflask开头的EGG-LINK文件(什么是EGG-LINK文件呢?):
在bigflask项目下也多了一些文件:bigflask.egg-info文件夹及其下文件。这些文件的内容可以看看,有助于理解setup.py文件中setup()函数的参数。
打开新的Windows命令行工具运行bigflask项目:不用再进入bigflask项目下的src即可运行了——这就是安装bigflask的好处吧!又学到一招!
访问页面,结果前一次访问结果一样。
7.更多测试
7.1 修改views.py后测试bigflask站点的变化
在views.py中添加下面的代码——增加了一个视图函数:
@app.route('/love')
def love():
return "I love flask"
再次运行bigflask项目,访问“/love”页面:成功。看来,在Eclipse中修改bigflask项目后,可以看到项目的变化。
7.2 使用pip3 uninstall命令卸载bigflask
在Windows命令行总执行pip3 uninstall bigflask命令,可以成功卸载bigflask。
后记
终于完成了第一个使用package的Flask项目了。
还需要熟悉setuptools模块的使用。
egg-link有什么用?
pip命令详解。
官方文档中的Tutorial文档和源码(在GitHub下载)都需要好好观摩一番才是。
不清楚Linux上是否可以使用Eclipse+PyDev,需要搞清楚,否则换到Linux下就没法愉快的开发了。
官方文档Becoming Big十分需要看看。
下一步,使用Blueprint。
下下步,使用SQLAlchemy。
Flask:使用Eclipse+PyDev插件编辑基于package的项目的更多相关文章
- Python开发环境(3):使用Eclipse+PyDev插件创建Django项目
OS:Windows 10家庭中文版,Python:3.6,Eclipse:Oxygen.1a Release (4.7.1a), PyDev:6.3.2,Django:2.0.3 本文展示了怎么使用 ...
- 在windows下用eclipse + pydev插件来配置python的开发环境
在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...
- Python开发环境(1):Eclipse+PyDev插件
电脑:小米笔记本电脑Pro 15.6寸(i5-8250U),操作系统:Windows 10,JDK版本:1.8.0_152(环境变量已配置) Step 1.下载Eclipse 根据我的CPU型号,选择 ...
- Eclipse + pydev插件
在Eclipse中安装pydev插件 启动Eclipse, 点击Help->Install New Software... 在弹出的对话框中,点Add 按钮. Name中填:Pydev, ...
- IDE eclipse PyDev插件安装
Python安装成功后,即要配置开发环境,这里选用Eclipse, 在Eclipse中安装PyDev插件,有多种方法,这里介绍最最常用的两种. 1)使用Eclipse安装插件,打开eclipse,进入 ...
- eclipse+pydev 怎么导入已有的python项目
转自:https://zhidao.baidu.com/question/2117277007790501747.html 已有的python项目导入eclipse的步骤: 1.首先,打开Eclips ...
- 用eclipse+svn插件,上传新项目到svn服务器
给定trunk路径,https://svn.ws.125089.com/public/nlp/3434index/IndexByModelSolr/trunk/. 其中自己的web项目名字是Index ...
- 【转】Python自动化测试 (一) Eclipse+Pydev 搭建开发环境
原文网址:http://www.cnblogs.com/TankXiao/archive/2013/05/29/3033640.html C#之所以容易让人感兴趣,是因为安装完Visual Studi ...
- [Environment setup]python+selenium+Eclipse+pydev环境搭建
转载自: http://www.cnblogs.com/Bonker/p/3584707.html http://www.cnblogs.com/fnng/archive/2013/05/29/310 ...
随机推荐
- 【CF438E】小朋友和二叉树 解题报告
[CF438E]小朋友和二叉树 Description 我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树. 考虑一个含有\(n\)个互异正整数的序列\(c_1,c_2,\dots,c_n\). ...
- java 面试题 -- 线程 按序 交替
编写一个程序,开启 3 个线程,这三个线程的 ID 分别为A.B.C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示.如:ABCABCABC…… 依次递归? packag ...
- google插件备份与安装
说明 chrome浏览器中有很多有用的扩展程序, 但是可能因为某些原因我们不能直接去扩展程序商店进行下载获取, 如果我们自己电脑上已经通过某种方式添加了扩展程序, 想把它移植到其他没有FQ或者压根没有 ...
- BZOJ 3098 Hash Killer II
3098: Hash Killer II Description 这天天气不错,hzhwcmhf神犇给VFleaKing出了一道题: 给你一个长度为N的字符串S,求有多少个不同的长度为L的子串. 子串 ...
- [POI2012]STU-Well
题意翻译 给定一个非负整数序列A,每次操作可以选择一个数然后减掉1,要求进行不超过m次操作使得存在一个Ak=0且max(∣xi−xi−1∣)最小,输出这个最小值以及此时最小的k (1≤n≤1 000 ...
- 【cdq分治】【P4390】[BOI2007]Mokia 摩基亚
Description 给你一个 \(W~\times~W\) 的矩阵,每个点有权值,每次进行单点修改或者求某子矩阵内权值和,允许离线 Input 第一行是两个数字 \(0\) 和矩阵大小 \(W\) ...
- laravel 实用扩展包
1.beyondcode / laravel-self-diagnosis 环境检测.检测 php 版本.扩展 是否正常,数据库连接是否正常等 2.nunomaduro/larastan larave ...
- Python操作sqlserver 2000
在网上找到了pyodbc这个模块,本人操作系统是 Ubuntu 16.04 , Python 2.7 已经安装了pip 按照 官方文档 的步骤成功安装. 但是需要跨平台. 使用pyodbc在wind ...
- js 字符串格式化
在js 文件中写一个函数 String.prototype.format = function(args) { var result = this; if (arguments.length > ...
- ORM choice字段 如何在页面上显示值
核心:obj.get_字段名_display 1.定义module 数据结构: class msg(models.Model): choice = ( (1, '技术部'), (2, '行政'), ( ...