Genay是一个轻量级的免费,开放源代码的开发工具,支持很多的文件类型,并且支持很多的插件,启动快速。安装包只有十几兆,相关的插件也不大,相比pycharm专业版需要收费,并且社区版的安装包大小有两百多兆,但Genay对于错误的提示信息不够友好,比如缺少冒号,只有在运行的时候才会给出错误提示,而pycharm在编译时就能指出错误,所以需要掌握python的基本语法,才能很好的使用Genay,当然,可能也有一些插件能够让Genay也给出同样的提示,对于python入门学习来讲,使用Genay是一个很好的选择。

平时开发使用Windows系统,只有系统服务器使用为linux,但非桌面版,本例使用Windows版本的Genay为例,演示其基本使用和设置

安装Python环境

需要下载与当前系统匹配的版本,64位系统最好下载64位python安装包,否则python基本功能可用,但pip,easy_install有可能不可用。

可以使用如下路径选择不同版本进行下载

https://www.python.org/downloads/windows/

zip file为解压安装,解压后,双击其中的python.exe即可使用,但只包含python的基本功能

executable为完整安装包,下载后双击安装即可,安装时,默认会将pip等工具一起安装,最好选中将python添加到环境变量

web-based为通过网络下载,没用过这种方式安装。

安装Genay

在如下网址选择windows版本下载,双击安装

https://www.geany.org/download/releases/

在如下网址下载插件,双击安装

https://plugins.geany.org/downloads.html

安装完成后,打开Genay

运行第一个Genay python程序hello word,输入

print("hello word")

点击上方保存,在弹出的对话框中选择保存的路径,并设置文件名称,注意文件名称要以.py结尾,这样Genay能够根据python语法自动设置高亮,提示等,若不以py结尾,也可以通过“文档—》设置文件类型—》脚本语言—》Python源文件”达到高亮提示等效果,但不推荐这么做。本例中以first.py名称保存文件

点击右上方工具栏中执行或者使用快捷键F5运行程序,弹出执行窗口,输出hello word

输出中文时需要进行编码设置,否则会出现如下异常,如将上述hello word改为“中文”,异常如下

依次选择“文档—》设置文件编码—》Unicode—》Unicode(UTF-8)”,保存文件,重新执行

中文字符正常输出,但这种方式只是对当前文件生效,对新建文件无效。

全局设置编码格式

找到工具栏中编辑—》首选项,打开首选项对话框,文件—》编码中选择,顺便将缺省文件行尾改为Unix(LF),这样在Linux上运行时,不用考虑行尾的特殊字符

设置缩进格式

编辑—》首选项,打开首选项对话框,编辑器—缩进,宽度设置为4,类型选择空格

如果程序中混合使用了制表符和空格,可选择菜单文档—替换制表符为空格,将所有制表符都转换为空格。

设置行长标志

在PEP8(Python Enhancement Proposal,PEP)中,建议每级缩进都是用四个空格,并且每行不超过80个字符,我们就先按照规则进行设置,虽然不超过80个字符并不是必须的规则,但行内容过长,会影响到代码维护。

编辑—首选项,编辑器,功能

设置自动完成

选择菜单“编辑” ,单开首选项,设置/选中以下参数

Genay对话框最下方记录了文件的基本信息,其中最关键两项为模式和编码,如下,新建了py文件second.py

打印结果

到此,Genay基本配置结束了,随着后续的使用,在一些复杂的web开发中,可能还需要在添加一些插件,这些在后面的学习中继续研究

PS:

1、若未设置环境变量,也可在“生成--》设置生成命令”中设置编译所需的python路径

2、在linux上出现乱码,可在文件中添加如下脚本指定编码

# -*- coding: utf-8 -*-

Python轻量级开发工具Genay使用的更多相关文章

  1. Python集成开发工具(IDE)推荐

    1.7 Python集成开发工具(IDE)推荐 1.7.1 Notepad++ Notepad++是Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语 ...

  2. Python测试 ——开发工具库

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

  3. python测试开发工具库汇总(转载)

    Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...

  4. python的开发工具pycharm安装及激活

    下面介绍一种较好用也常用的python开发工具Pycharm,此文包括安装及注册激活码 一:安装方法如下: 1:进入官网下载:https://www.jetbrains.com/ 2:下载Commun ...

  5. python 之开发工具 sublimetext 3

    一.前言 由于个人工作内容太过于繁杂,记忆力又不好,为日后使用的方便,故简单的记录了本篇关于sublimetext 3的初始化安装和部分插件内容的记录.目前最新的版本也是3.0以上版本了,故我这里使用 ...

  6. NLP(一) Python常用开发工具

    一.Numpy NumPy系统是Python的一种开源的数值计算包. 包括: 1.一个强大的N维数组对象Array: 2.比较成熟的(广播)函数 库: 3.用于整合C/C++和Fortran代码的工具 ...

  7. python集成开发工具

    1. IDLE http://python.org/idle/ (在 Python 发行版中自带) 2 BlackAdder 3 PythonWorks 4 Wing IDE http://wingw ...

  8. python的开发工具UliPad安装篇

    之前文章里写过一个搭建windows下搭建Selenium+Eclipse+Python环境,如今认为这个Eclipse太大了,太笨重了,重新启动又慢,像Python脚本轻级语言,不是必需用那么大的工 ...

  9. 关于python的开发工具——Canopy

    在学习和使用scikit-learn过程中,官方文档中推荐了两个IDE(Canopy and Anaconda),我分别在win7和mac下安装后,发现Canopy是可以用的.Anaconda没搞明白 ...

随机推荐

  1. 批量转换epub书籍为mobi电子书

    kindlegen下载地址: http://kindlegen.s3.amazonaws.com/kindlegen_win32_v2_9.zip 原文: http://blog.sina.com.c ...

  2. Tomcat项目自动部署脚本

    一般情况下使用的Linux环境都是加固的,root路径只有超级管理员权限才能进入.我们新建一个自己的用户,在/home下会有一个用户目录,传输war包都放在这个目录下,此时不动webapps文件下的内 ...

  3. Delphi MSCom安装

  4. Delphi CloseHandle函数

  5. -sh: ./a.out: not found

    感觉程序没有问题,编译生成a.out后,拷贝到开发板执行,提示 -sh: ./a.out: not found. 上网查找问题,大概原因有2个 一就是有可能/lib下面没有C库 就是没有glibc或者 ...

  6. DNS负载均衡与NGINX负载均衡策略

    负载均衡是指的是把请求均匀的分摊到多个服务器上处理.一般常见的负载均衡有两种:①客户端与反向代理服务器之间的DNS负载均衡②反向代理服务器与应用服务器之间的负载均衡(这种负载均衡有很多,可以是webl ...

  7. Activity的跳转及返回值 的四种方法

    Activity生命周期 从创建到销毁的生命周期: onCreate()→onStart()→onResume()→onPouse()→onStop()→onDestroy() 从起动到后台再到前台: ...

  8. Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2

    系统:win10 环境:Visual Studio 2019社区版 问题:错误 MSB6006 “CL.exe”已退出,代码为 2 解决方法: 1 一个类内部的定义返回类型为double的方法种没有写 ...

  9. Centos7下rc.local文件开机不执行…

    在Centos7下,rc.local文件,开机默认是不执行的 /etc/rc.local链接的是  /etc/rc.d/rc.local文件,该文件默认不开机启动,官方建议添加一个service来实现 ...

  10. $q defer

    实际应该是这样更好理解 把,asyncGreet换成实际的http请求SyncRequest. 如果我们多个请求那么 就是多个 promise我们要么就是链式then,要么就是$q.all 可以根据需 ...