自发行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包索引. ...
随机推荐
- 关于Fekit的安装与测试
一. Fekit的安装 1.cmd输入指令 $ npm install fekit -g 2.初始化方法 $ fekit init 3.创建本地服务 $ fekit server 4.创建同时改端口( ...
- linux 压缩 解压zip 命令
将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件zip -r test.zip ./* 打包目录zip test2.zip test2/*解压test.z ...
- 回文字符串的判断!关于strlen(char * str)函数
#include <stdio.h> #include <string.h> int ishuiw(char * p); int main() { ;//true-false接 ...
- matlab直方图均衡,使用向量优化
matlab自带有histeq函数对图像进行直方图均衡 自己写了一个,改成向量化形式,效率提高了一点,但是比自带的还是差很多,差不多9倍 function D = my_histeq(I) [m,n] ...
- Hyper-V 与Broadcom网卡兼容问题
最近在测虚拟机时,碰到一个网卡和Hyper-V不兼容问题,现在共享给大家参考,希望对大家有帮忙. 故障描述: Dell R720 Windows 2012操作系统下的Hyper-V环境后,虚拟机网络速 ...
- 快速学习html、css的经典笔记
HTML语言剖析 Html简介-目录 全写: HyperText Mark-up Language 译名: 超文本标识语言 简释:一种为普通文件中某些字句加上标示的语言,其目的在于运用标签(tag ...
- postgresql查询的处理过程
本文简单描述了Postgresql服务器接收到查询后到返回给客户端结果之间一般操作顺序,总的流程图如下: 第一步: 客户端程序可以是任何符合 PostgreSQL 协议规范的程序,如 JDBC 驱动. ...
- 关于InvokeRequired与Invoke
from:http://www.th7.cn/Program/net/201306/140033.shtml Windows 窗体中的控件被绑定到特定的线程,不具备线程安全性.因此,如果从另一个线程调 ...
- delphi之事件
delphi的事件如上图所示: 图中oncloseup代表的是日期选择下拉框关闭时触发的事件. //事件定义 procedure Ondatechange(Sender: TObject); //事件 ...
- Python模块和包
模块和包是python组织代码的基本方式. 模块: python的每一个脚本文件都可称之为模块,模块的名称就是脚本的文件名.例如当我们写了一个test.py的脚本文件,则可以在同目录下的另外一个脚本m ...