Python在Android系统上运行
下载 Scripting Layer for Android (SL4A)
https://github.com/damonkohler/sl4a
https://www.tutorialspoint.com/sl4a/
https://mafiadoc.com/python-for-android-documentation_59bd673b1723ddb63c355d46.html
pydev 功能及使用示例
http://blog.csdn.net/lainegates/article/details/8445241
Python脚本文件打包成可执行文件
python 模块发布步骤:
一、模块
1、import 导入模块
1 import module1,mudule2...
2、from...import...导入模块
导入指定内容
1 from modname import name1[, name2[, ... nameN]]
导入所有内容
1 from modname import *
这种导入方法会有重名风险,使用时应注意。
3、模块中的__all__变量
用来限制当用from xxx import *时导入时,导入的内容。不再__all__这个列表中的内容不会被导入。
1 __all__ = ['name1', 'name2', ...]
二、包
包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包。
在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import * 时导入的模块。 也可以在__init__.py 中使用import module ,这些mobule 与__all__变量中模块名字一样,作用与__all__ 一样。
三、模块发布
1、创建setup.py文件

1 .
2 ├── setup.py
3 ├── suba
4 │ ├── aa.py
5 │ ├── bb.py
6 │ └── __init__.py
7 └── subb
8 ├── cc.py
9 ├── dd.py
10 └── __init__.py

2、setup.py文件
1 from distutils.core import setup
2
3 setup(name="yourName", version="1.0", description="your module", author="you", py_modules=['suba.aa', 'suba.bb', 'subb.cc', 'subb.dd'])
3、构建模块
1 python setup.py build

1 .
2 ├── build
3 │ |
4 │ ├── suba
5 │ │ ├── aa.py
6 │ │ ├── bb.py
7 │ │ └── __init__.py
8 │ └── subb
9 │ ├── cc.py
10 │ ├── dd.py
11 │ └── __init__.py

4、生成发布压缩包
1 python setup.py sdist
1 ├── dist
2 │ └── yourName-1.0.tar.gz
5、安装
- 找到模块的压缩包
- 解压
- 进入文件夹
- 执行命令
python setup.py install --prefix=安装路径
这样会在 install_dir\Lib\site-packages 下安装
6、在程序中引用
在程序中,使用from import 即可完成对安装的模块使用
from 模块名 import 模块名或者*
python项目内import其他内部package的模块的正确方法
http://blog.csdn.net/luo123n/article/details/49849649
将python 文件转换成可执行 .exe 文件,使用py2exe 工具转换
1、下载py2exe
2、在 python 文件所在目录创建一个mysetup.py 文件,内容如下:
# -*- coding:UTF-8 -*-
'''
@author:
'''
from distutils.core import setup
import py2exe
#setup(console=["longpressPowerkeyTest.py","enterEngineerMode.py"],options={"py2exe":{"includes":["ElementC14N"]}})
#setup(console=["longpressPowerkeyTest.py","enterEngineerMode.py"])
setup(windows=["longpressPowerkeyTest.py","enterEngineerMode.py"])
longpressPowerkeyTest.py 与enterEngineerMode.py 是需要转换的python 文件,其中console 是控制台程序,windows 是图像界面程序
或者setup(console=[r’e:/hello.py’])
指定python 文件绝对路径
3、在windows命令行终端
python mysetup.py py2exe
这样在脚本所在的目录生成 dist 与build 目录,dist 下回生成可执行文件。
或者python e:\setup.py py2exe
根据绝对路径
4、运行dist 下的可执行文件,其中dist下 是发布需要的文件,build 是中间文件,不需要。
5、python mysetup.py py2exe --help 可以查看命令带的参数
6、指定额外的文件
setup(console=["helloworld.py"],
data_files=[("bitmaps",
["bm/large.gif", "bm/small.gif"]),
("fonts",
glob.glob("fonts\\*.fnt"))],
)
说明:data_files选项将创建一个子目录dist\bitmaps,其中包含两个.gif文件;一个子目录dist\fonts,其中包含了所有的.fnt文件。
使用pyinstaller 来将python 文件转换为可执行文件
1、安装pip ,下载路径
https://pypi.python.org/pypi/pip#downloads
Pip and setuptools are included with Python >=3.4 and >=2.7.9
pip是依赖python的,安装pip,将pip的tar包下载到本地并解压,这个tar.gz格式的是windows和linux通用的包,相当linux 下yum.
2、解压下载的包
执行 python setup.py install
将pip 加入环境变量 ,在一下路径 C:\Python27\Scripts
3、cmd 终端运行 pip list
首先我一般用的是python27,官网下载python27msi安装window7 64位后,已经自带了Pip 和 easy_install
但是却不晓得如何安装 whl目录,
经过搜索后发现,把pip和easy_install加入到环境变量中,即 C:\Python27\Scripts
见 https://www.cnblogs.com/2589-spark/p/4501816.html
安装pywin32
可以下载 pywin32‑223‑cp35‑cp35m‑win_amd64.whl
下载路径 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
在终端运行 pip install ***.whl
或者使用命令安装pip install pywin32
4、安装 Pyinstaller
https://www.cnblogs.com/gopythoner/p/6337543.html
https://pypi.python.org/pypi/PyInstaller/3.0
可以下载pyinstaller 包解压,在解压的目录下运行
python seteup.py install
或者使用pip 安装
pip install pyinstaller
5、使用Pyinstaller
1、使用下载安装的方式安装的Pyinstaller打包方式
将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):
- python pyinstaller.py -F myfile.py
2、使用pip方式安装的Pyinstaller打包方式
打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):
- pyinstaller -F myfile.py
3、输入参数的含义
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
Python在Android系统上运行的更多相关文章
- 转 让Python在Android系统上飞一会儿
让Python在Android系统上飞一会儿 地址: http://blog.csdn.net/ccwwff/article/details/6208260
- 【Android】让Python在Android系统上飞一会儿
第一节 在手机上配置Python运行环境 1.下载和安装 Scripting Layer for Android (SL4A) Scripting Layer for Android (SL4A) 是 ...
- Android驱动入门-在Android系统上运行JAVA程序
在linux上运行java程序,直接用javac编译,再用java运行就行了.但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的. 如果想在Android上运行Hello wo ...
- 理解WebKit和Chromium: 调试Android系统上的Chromium
转载请注明原文地址:http://blog.csdn.net/milado_nju 1. Android上的调试技术 在Android系统上,开发人员能够使用两种不同的语言来开发应用程序,一种是Jav ...
- Android系统上如何实现easyconfig(airkiss)
刚买回来一个智能音箱和博联,需要给音箱和博联配置联网,音箱需要先打开蓝牙,然后在手机app中填写wifi的ssid和密码,通过蓝牙发送到音箱,音箱收到后连接到wifi. 博联就比较奇怪,进入联网模式以 ...
- [转]C#程序无法在64位系统上运行之.NET编译的目标平台
今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...
- 1. Android 系统上一款开源的图表库
1. MPAndroidChart MPAndroidChart 是 Android 系统上一款开源的图表库.目前提供线图和饼图,支持选择.缩放和拖放. 一个可以拖动缩放的图表库,包含曲线图.直方图 ...
- Android 系统中运行jar文件
在android系统中运行jar操作步骤: 1. 打包编译jar包 2. 将jar包导入android设备中 adb push test.jar /data/local/tm ...
- android设备上运行i-jetty服务
android设备上运行i-jetty服务: 1) i-jetty安装 本人小菜一个,i-jetty源码有好几个文件,不知道怎么运行起来,于是找了一个现成可运行的i-jetty工程(感谢这位同学的分享 ...
随机推荐
- delphi 三层架构简单例子(经测试成功)
delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...
- 添加 MyEclipse Persistence Tools 类库
1).右键点击你的项目,然后选择Properties.2).在 Java Build Path 页面, 在 Libraries 面板下选择 Add Library….3).选择 MyEclipse L ...
- git 转移
git push --mirror https://github.com/cloud-pi/drbd-docker-plugin.git
- Kafka介绍及集群搭建
简介 Kafka是一个开源的,分布式的,高吞吐量的消息系统.随着Kafka的版本迭代,日趋成熟.大家对它的使用也逐步从日志系统衍生到其他关键业务领域.特别是其超高吞吐量的特性,在互联网领域,使用越来越 ...
- Eclipse快捷键大全(补充)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+Shift+O 自动导入所需要的包(这个用的次数也相当多)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增 ...
- 详解C++右值引用
C++0x标准出来很长时间了,引入了很多牛逼的特性[1].其中一个便是右值引用,Thomas Becker的文章[2]很全面的介绍了这个特性,读后有如醍醐灌顶,翻译在此以便深入理解. 目录 概述 mo ...
- Android APK反编译就这么简单 详解
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...
- Linux 下启动两个tomcat
Linux 下启动两个tomcat 闲来无事学习nginx,想要配置个load balance.可是先决条件是:得有两个web容器.两个电脑是不用想了.只能想办法在一个机器上启动两个tomcat.原以 ...
- Python学习笔记_二维数组的查找判断
在进行数据处理的工作中,有时只是通过一维的list和有一个Key,一个value组成的字典,仍无法满足使用,比如,有三列.或四列,个数由不太多. 举一个现实应用场景:学号.姓名.手机号,可以再加元素 ...
- 复杂链表的复制(java)
问题描述 时间输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点), 返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引 ...