linux打包python
㈠ 如何将python code 打包成linux系统下可执行
pyinstaller -w --onefile xx.py -n xx
不过我是mac下打的app包是这样
UnicodeEncodeError是小问题 可以试试
头加utf8识别
import sys
sys.reload()
sys.defaultencoding('utf8') 不知道拼错没
3.print u’中文’ 这样是可以的。会转成unicode编码 如果这样也是有问题 那么按照前两个操作就可以了 是因为你文件的编码不对
㈡ 将Python程序打包成linux可执行文件
1.安装环境
首先我们要安装pip,命令如下:
使用的工具是 pyinstaller ,打开终端输入sudo pip install pyinstaller
2.打包程序
首先在打包之前检查一下我们的py文件是否可以正常执行,确认无误后进行打包 pyinstaller -F car_tkinter.py 或者 python3 -m PyInstaller -F main.py
3.执行文件
进入我们打包存放的文件夹,打开终端,执行语句 ./car_tkinter 或者 nohup ./car_tkinter> data.log &
㈢ linux下python和webpy怎么搭建
1. 环境搭建。
环境搭建比较繁琐,记得当时也是满世界找资料,所以我直接打包好了所有的文件(apache(已经放进去python-wscgi) + web.py+apache所需要的vs2010运行库+python+网站文件),直接解压放上去就能用。有需要同学让我传一个或者网盘发一把就行。
如果在windows,最好在win7以上版本,我用win8。linux则ubuntu较好,建议12.04以上版本,不过linux我仅仅是开发用过,最终运行的服务器是采用windows+apache:
安装python2.7.10,可以去官方网站下载,注意要把python路径加入系统环境变量。版本不能低于2.7.9,但不能用3.0以上,web.py支持不好。
安装web.py, 官方网下载来装就行,记得是解压后进去:python setup.py install
安装wingIDE,这个是最好用的python编辑器,可惜只能有几天试用,我就是不停的试用进行开发,用它的好处就是代码可以跳转并且支持调试,需要调试直接将程序文件run起来,单步下段点都可以。
装apache并配置python-wscgi,这个比较惨,花了好多时间去搜索才搞定,主要是windows上的python-wscgi不好难找。
为了节省以后的开发时间,我把配置好的apache给打包了,反正也是绿色的,新建网站只需要在服务器上配置开机启动apache,并在apache的config里面修改下自己网站路径就行。
2. 开发。
开发阶段倒是没什么好说的,web.py官方有教程,不过这里我需要提几点建议:
如果可以务必全站用utf-8编码。
建立数据库建议写个生成脚本,比如createDataBase.py,有改动重新运行一遍,不要试用ide去建。
㈣ Linux下,Python项目包含多个模块以及图片包,跪问如何用pyinstaller将其打包在一起
python的模块,pyinstall会自动编译为字节码然后一起打包。
至于另外的图片等资源文件,需要自行书写打包配置文件spec。
先用pyinstaller 的 --onefile 选项自动生成一个spec文件,
然后修改这个spec文件案,如要加入图片等附属文件,
要加入到datas中,格式如下:
datas += [("软件包内的相对路径/file.name","/实际路径/file.name","DATA")]
文件列表也可以用Tree生成。Tree("/实际路径/file.name”, prefix = “软件包内的相对路径”)
下面是一个spec文件的例子
a = Analysis(["/tmp/start.py"],
pathex=["/tmp"],
hiddenimports=[],
hookspath=None,
runtime_hooks=None
dict_tree = Tree("/tmp/pic", prefix = "pic")
a.datas += dict_tree
pyz = PYZ(a.pure)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name="test",
debug=False,
strip=None,
console=False )
㈤ 写python脚本把上述步骤打包成安装包,把安装包通过批量部署工具(puppet等)安装到windows/linux电脑。
用python调用系统命令吗?
importos
os.system('netuseraddtest123456')
这样?