下载 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脚本文件打包成可执行文件

py2exe下载网址
http://www.py2exe.org/

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、安装

  1. 找到模块的压缩包
  2. 解压
  3. 进入文件夹
  4. 执行命令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系统上运行的更多相关文章

  1. 转 让Python在Android系统上飞一会儿

    让Python在Android系统上飞一会儿 地址: http://blog.csdn.net/ccwwff/article/details/6208260

  2. 【Android】让Python在Android系统上飞一会儿

    第一节 在手机上配置Python运行环境 1.下载和安装 Scripting Layer for Android (SL4A) Scripting Layer for Android (SL4A) 是 ...

  3. Android驱动入门-在Android系统上运行JAVA程序

    在linux上运行java程序,直接用javac编译,再用java运行就行了.但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的. 如果想在Android上运行Hello wo ...

  4. 理解WebKit和Chromium: 调试Android系统上的Chromium

    转载请注明原文地址:http://blog.csdn.net/milado_nju 1. Android上的调试技术 在Android系统上,开发人员能够使用两种不同的语言来开发应用程序,一种是Jav ...

  5. Android系统上如何实现easyconfig(airkiss)

    刚买回来一个智能音箱和博联,需要给音箱和博联配置联网,音箱需要先打开蓝牙,然后在手机app中填写wifi的ssid和密码,通过蓝牙发送到音箱,音箱收到后连接到wifi. 博联就比较奇怪,进入联网模式以 ...

  6. [转]C#程序无法在64位系统上运行之.NET编译的目标平台

    今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...

  7. 1. Android 系统上一款开源的图表库

    1. MPAndroidChart  MPAndroidChart 是 Android 系统上一款开源的图表库.目前提供线图和饼图,支持选择.缩放和拖放. 一个可以拖动缩放的图表库,包含曲线图.直方图 ...

  8. Android 系统中运行jar文件

    在android系统中运行jar操作步骤: 1.       打包编译jar包 2.       将jar包导入android设备中 adb push test.jar  /data/local/tm ...

  9. android设备上运行i-jetty服务

    android设备上运行i-jetty服务: 1) i-jetty安装 本人小菜一个,i-jetty源码有好几个文件,不知道怎么运行起来,于是找了一个现成可运行的i-jetty工程(感谢这位同学的分享 ...

随机推荐

  1. Core 第三组 结对作业——四则运算 Part1. Core代码编写

    结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...

  2. 【总结整理】AI产品经理大会2017(转载)

    从企业大数据到企业 AI | 易观智慧院院长 李智 1.AI 不是目的,而是要了解 AI 是什么,真正意义上的强人工智能在前沿领域尚未取得突破,暂时只能在影视文学作品中去思考人机关系.机器人三定律在未 ...

  3. 基于mapper插件编写的可定制代码生成基本框架(springboot)

    先看一下,基本结构图: 特征,提供 最佳实践的项目结构.配置文件.精简的POM 统一响应结果封装 统一异常处理 统一接口登录认证 常用基础方法抽象封装 Controller.service.dao层基 ...

  4. Codeforces 703E DP + 因数分解 +离散化

    题意:给你n个数,和一个数m, 问最小需要多少个数,可以让这些数乘起来是m的倍数.如果有多组,取和最小的那一组. 思路:因为m的范围到1e12,并且和取模相关,所以容易想到处理出m的约数,然后离散化一 ...

  5. c# ftp 判断目录是否存在和创建文件夹

    工作中项目一直使用的ftp上传日志文件出现了问题,新的服务器搭建好后,日志无法上传.正好来学习一下ftp. 程序中的流程是,一个计时器,每分钟检测配置文件中本地日志文件路径下有没有日志文件,如果有就上 ...

  6. 浅谈svn的hook机制

    一.什么是钩子 所谓svn的hook机制,就是用户在管理数据仓库的时候,当特定的事件发生时,相应的hook会被调用,hook 其实就相当于特定事件的处理函数. 当前 Subversion 提供了5种可 ...

  7. 17-list,字典使用练习

    randint(a,b)包括 [a,b]中随机, 包含a,b range(n)= 0,1,2,3....n-1 chr() 数字转字符: chr(65) 得到 :A ord()字符转数字:  ord( ...

  8. Paradox

    克己博伦 当一个无法阻挡的力量,碰到了一个无法移动的物体?如果这个力量移动了物体,那么这个物体就不是无法移动的.如果这个力量没有移动物体,那么这个无法阻挡的力量就被挡了下来. 上帝能造出一个重到他自己 ...

  9. sqlserver三种数据集合运算

    2.1   并集运算(UNION) (1)UNION ALL(不删除重复行) Code: 1 SELECT empID,empName,position,degree 2 FROM Employees ...

  10. Monkey&Monkey Runner使用

    adb shell monkey -p com.ajb.sp -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v ...