自发行python版本制作(一)
最近使用python开发一些小玩意,发现python实在很符合我的理念:轻量级,功能强大,开放。
python是一种脚本语言,不像java那样需要沉重的编译过程。这使得python更显得轻巧灵便,可以在任意地方写代码并执行。虽然jre7中添加了动态编译java代码的功能,但还是显得很沉重的感觉。自带了很强大的类型系统map,list,set,而且相对于java减少了很多泛型的约束。再使用java的这些类型时会发现不添加泛型就会报警高,要使用不同类型的集合还必须写map<object>这样的代码,这点也体现了弱类型语言的优势。
python有很强大的内置类型,和异常强大的标准库。像map,list这类的数据结构直接是语言内部类型,这样在使用这些类型时更加方便,异常强大的标准库中甚至有小而功能完善的webserver(SimpleHTTPServer),搜索协议文件解析(robots.txt)。所以,基本的需求都可以在python内部找到解决办法。
python是开源的,并且有开放的社区。而且python支持多种方式的使用:脚本,C扩展,内嵌式,嵌入式。这是对各种使用方式的开发啊。我可以自行开发一个python shell来完成启动执行python的目的,甚至可以修改python的sanner和parser来设计自己的编程语言,这就厉害了啊。
但是python还是有点不和我的意思的地方。比如python标准库里里面的gui,pip安装库方式,python程序发行方式都不太和我心意,所以这里想研究一下python,看看python是否能适应一下我的需求。
需求:
1.换掉tcl/tk。修改默认gui编程方式到其他的gui上。
2.适应独立发布的方式进行库安装。即:在发布python代码时可以直接连带使用的库一起发布。
3.发布软件时自带运行环境,不需要使用发布的软件时还需要安装python。(虽然有类似于py2exe的方式解决这两个问题,但是我认为不能达到轻巧,升级方便的目的)
前期调查:
原先想使用cygwin,mingw的方式进行编译python,但发现编译有很多问题放弃这种方式,改用微软的编译器进行编译。
编译器:
为什么微软不单独发行编译器和链接器?
神一样存在的Microsoft Visual C++ Compiler for Python 2.7
Announcing Visual C++ Build Tools 2015
msbuild:
Microsoft Build Tools 2015
python resource:
python-2.7.11
自发行python版本制作(一)的更多相关文章
- 自发行python版本制作(二)编译
本系列文章第二篇主要说明windows环境的编译环境搭建以及编译过程. 编译环境选择: 1.选用作神一样存在的Microsoft Visual C++ Compiler for Python 2.7为 ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
- anaconda虚拟环境管理,从此Python版本不用愁
1 引言 在前几篇博文中介绍过virtualenv.virtualenvwrapper等几个虚拟环境管理工具,本篇要介绍的anaconda也有很强大的虚拟环境管理功能,甚至相比virtualenv.v ...
- Python 版本之 Anaconda
https://www.anaconda.com/download/#linux Anaconda概述 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windo ...
- conda 管理 python 版本
conda常用命令 查看当前系统下的环境 conda info -e 创建新的环境 # 指定python版本为2.7 conda create -n env_name python=2.7 # 同时安 ...
- pyenv 让 python 版本完美切换
前言 我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 ...
- Linux系统之路——python多版本共存问题(ps:自行切换python版本,pip安装遇到的一些问题)
经常遇到这样的情况: 系统自带的Python是2.6,自己需要Python 2.7中的某些特性: 系统自带的Python是2.x,自己需要Python 3.x: 此时需要在系统中安装多个Python, ...
- Flask学习之旅--用 Python + Flask 制作一个简单的验证码系统
一.写在前面 现在无论大大小小的网站,基本上都会使用验证码,登录的时候要验证,下载的时候要验证,而使用的验证码也从那些简简单单的字符图形验证码“进化”成了需要进行图文识别的验证码.需要拖动滑块的滑动验 ...
- 如何给自己的Python项目制作安装包
Packaging Python Projects¶ 本教程将指导您如何打包一个简单的Python项目.它将向您展示如何添加必要的文件和结构来创建包,如何构建包以及如何将其上载到Python包索引. ...
随机推荐
- EJB之Timer
EJB Timer 要么: Annotation @Schedule 或者方法前声明@Timeout 要么: 在部署描述中定义timeout-method 如果是使用@Schedule, Timer在 ...
- 你应该知道的jQuery技巧 [转]
回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. $('.top').click(function (e) { e.prevent ...
- js按键监听
//回车键监听 function keypressed(){ if(event.keyCode == 13) { doAction(); } } document.onkeydown = keypre ...
- Husky or C++ API - HDFS Short-Circuit Local Reads
hdfs-site.xml added: <property> <name>dfs.client.read.shortcircuit</name> <valu ...
- h5的离线缓存机制
什么是Manifest: 其实Manifest是一个简单的 文本文件,它的扩展名是任意的,定义需要缓存的文件.资源,当第一次打开时,浏览器会自动缓存相应的资源. Manifest 的特点: 离线浏览: ...
- Centos6 换源
#主要是为了提高安装速度以及epel中自带源众多木有的软件. #Author wood_man #2016.06.01 v 2.0 1. 测试环境 VMware 10.0 CentOS rele ...
- telnet输入乱码的解决
1.Win+R --- 运行窗口 输入cmd回车 2.输入telnet 主机 端口 3.连接主机发现无法输入 4.这里什么也不要输入,按下 ctrl+] 键 5.按下回车键,然后会弹出新的窗口,就可 ...
- IIS/IIS Express/Asp.net配置片段记录
事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了, ...
- DataTable 转 List<T>
最近在做一个项目,表的数据巨多,而且表的字段一般都在30个以上.公司规定不能用Nhibernate以及ef等ORM框架. 所以查询绑定时的工作量极为痛苦.没有办法,自己写了个DataTableToLi ...
- 链接属性rel=’external’、rel=’nofollow’、rel=’external nofollow’三种写法的区别
链接属性rel='external'.rel='nofollow'.rel='external nofollow'三种写法的区别 大家应该都知道rel='nofllow'的作用,它是告诉搜索引擎, ...