ubuntu14.04 使用pyInstaller打包SwitchHosts

上网、浏览、聊天、下载等
回复
头像
Archer123
帖子: 146
注册时间: 2008-05-18 10:16

ubuntu14.04 使用pyInstaller打包SwitchHosts

#1

帖子 Archer123 » 2014-09-24 10:06

https://github.com/oldj/SwitchHosts
去该地址下,右侧的Download Zip 下载了 SwitchHosts源码. 并在 http://www.pyinstaller.org/ 下下载了 PyInstaller-2.1.tar.gz
按照linux安装指引:

原文
使用 pyInstaller 打包

使用 pyInstaller 打包本程序非常简单,大致需要以下步骤:

去 pyInstaller 官方主页下载最新版本的 pyIntaller,比如目前为 2.0 版
将下载的 pyInstaller 解压,比如解压至 D:\tools\pyinstaller-2.0 目录
打开 CMD 终端,转到 pyInstaller 所在目录,输入打包命令

如果你的源码位于目录D:\studio\SwitchHosts,则打包命令形如:

D:\tools\pyinstaller-2.0> pyinstaller.py -w -F --icon=D:\studio\SwitchHosts\src\img\logo.ico --name=SwitchHosts --out=D:\studio\SwitchHosts\dist D:\studio\SwitchHosts\src\SwitchHosts.py

执行完成之后,即可在D:\studio\SwitchHosts\dist目录下看到打包成功的可执行文件。


根据自己下载安放习惯稍微改造了下 执行命令为 原文的命令是不带 python 的 直接执行后边的是不行的 所以百度了下在前边加上了python

cmd@TR:~/MyDownload/PyInstaller-2.1$ pyinstaller.py -w -F --icon=/home/cmd/SwitchHosts/src/img/logo.ico --name=SwitchHosts /home/cmd/SwitchHosts/src/SwitchHosts.py --out=/home/cmd/SwitchHosts/dist
pyinstaller.py:未找到命令


cmd@TR:~/MyDownload/PyInstaller-2.1$ python pyinstaller.py -w -F --icon=/home/cmd/SwitchHosts/src/img/logo.ico --name=SwitchHosts /home/cmd/SwitchHosts/src/SwitchHosts.py --out=/home/cmd/SwitchHosts/dist
Usage: pyinstaller.py [opts] <scriptname> [ <scriptname> ...] | <specfile>
pyinstaller.py: error: --out option does not take a value
在解压后的/MyDownload/PyInstaller-2.1 下执行总是报 error: --out option does not take a value 无法指定输出到 -out=/home/cmd/SwitchHosts/dist 这个目录下 原本这个目录下也没有dist文件夹 新建后 再执行 还是报error: --out option does not take a value

即然无法指定自己输出位置就去掉 --out=/home/cmd/SwitchHosts/dist 试一下
cmd@TR:~/MyDownload/PyInstaller-2.1$ python pyinstaller.py -w -F --icon=/home/cmd/SwitchHosts/src/img/logo.ico --name=SwitchHosts /home/cmd/SwitchHosts/src/SwitchHosts.py
22 INFO: wrote /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/SwitchHosts.spec
62 INFO: UPX is not available.
73 INFO: Processing hook hook-os
128 INFO: Processing hook hook-time
129 INFO: Processing hook hook-cPickle
175 INFO: Processing hook hook-_sre
255 INFO: Processing hook hook-cStringIO
295 INFO: Processing hook hook-encodings
300 INFO: Processing hook hook-codecs
642 INFO: Extending PYTHONPATH with /home/cmd/SwitchHosts/src
643 INFO: checking Analysis
643 INFO: building Analysis because out00-Analysis.toc non existent
643 INFO: running Analysis out00-Analysis.toc
669 INFO: Analyzing /home/cmd/MyDownload/PyInstaller-2.1/PyInstaller/loader/_pyi_bootstrap.py
683 INFO: Processing hook hook-os
689 INFO: Processing hook hook-site
697 INFO: Processing hook hook-encodings
739 INFO: Processing hook hook-time
740 INFO: Processing hook hook-cPickle
777 INFO: Processing hook hook-_sre
840 INFO: Processing hook hook-cStringIO
886 INFO: Processing hook hook-codecs
1130 INFO: Processing hook hook-pydoc
1254 INFO: Processing hook hook-email
1309 INFO: Processing hook hook-httplib
1341 INFO: Processing hook hook-email.message
1382 INFO: Analyzing /home/cmd/MyDownload/PyInstaller-2.1/PyInstaller/loader/pyi_importers.py
1399 INFO: Analyzing /home/cmd/MyDownload/PyInstaller-2.1/PyInstaller/loader/pyi_archive.py
1415 INFO: Analyzing /home/cmd/MyDownload/PyInstaller-2.1/PyInstaller/loader/pyi_carchive.py
1430 INFO: Analyzing /home/cmd/MyDownload/PyInstaller-2.1/PyInstaller/loader/pyi_os_path.py
1432 INFO: Analyzing /home/cmd/SwitchHosts/src/SwitchHosts.py
1948 INFO: Hidden import 'codecs' has been found otherwise
1948 INFO: Hidden import 'encodings' has been found otherwise
1948 INFO: Looking for run-time hooks
objdump: section '.dynamic' mentioned in a -j option, but not found in any input file
3735 INFO: Using Python library /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
3735 INFO: Adding Python library to binary dependencies
4069 INFO: Warnings written to /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/build/SwitchHosts/warnSwitchHosts.txt
4080 INFO: checking PYZ
4081 INFO: rebuilding out00-PYZ.toc because out00-PYZ.pyz is missing
4081 INFO: building PYZ (ZlibArchive) out00-PYZ.toc
5996 INFO: checking PKG
5996 INFO: rebuilding out00-PKG.toc because out00-PKG.pkg is missing
5997 INFO: building PKG (CArchive) out00-PKG.pkg
objdump: section '.dynamic' mentioned in a -j option, but not found in any input file
13805 INFO: checking EXE
13805 INFO: rebuilding out00-EXE.toc because SwitchHosts missing
13806 INFO: building EXE from out00-EXE.toc
13806 INFO: Appending archive to EXE /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/dist/SwitchHosts


貌似是在默认的 /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/dist/SwitchHosts 生成了SwitchHosts 跑去看了下 是个可执行文件但无法执行. 从报的info来看 好多文件没有找到说明还是有问题的怀疑权限问题 去查看下 到下载解压后的源码目录~/SwitchHosts
md@TR:~/SwitchHosts$ ll
总用量 40
drwxrwxr-x 7 cmd cmd 4096 9月 24 09:35 ./
drwxr-xr-x 48 cmd cmd 4096 9月 24 09:26 ../
drwxrwxr-x 2 cmd cmd 4096 9月 24 09:35 dist/
-rw-rw-r-- 1 cmd cmd 112 7月 29 17:12 .gitignore
-rw-rw-r-- 1 cmd cmd 4827 7月 29 17:12 README.md
drwx------ 2 cmd cmd 4096 9月 24 09:26 screenshots/
drwx------ 4 cmd cmd 4096 9月 24 09:26 src/
drwx------ 4 cmd cmd 4096 9月 24 09:26 src_v0_1/
drwx------ 3 cmd cmd 4096 9月 24 09:26 ui/


权限果然有点问题 就都改成755吧 chmod -R 755 screenshots src src_v0_1 ui 这些


再回去执行
cmd@TR:~/MyDownload/PyInstaller-2.1$ python pyinstaller.py -w -F --icon=/home/cmd/SwitchHosts/src/img/logo.ico --name=SwitchHosts /home/cmd/SwitchHosts/src/SwitchHosts.py
11 INFO: wrote /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/SwitchHosts.spec
22 INFO: UPX is not available.
32 INFO: Processing hook hook-os
75 INFO: Processing hook hook-time
76 INFO: Processing hook hook-cPickle
112 INFO: Processing hook hook-_sre
173 INFO: Processing hook hook-cStringIO
212 INFO: Processing hook hook-encodings
218 INFO: Processing hook hook-codecs
414 INFO: Extending PYTHONPATH with /home/cmd/SwitchHosts/src
415 INFO: checking Analysis
419 INFO: checking PYZ
422 INFO: checking PKG
422 INFO: checking EXE
423 INFO: ignoring icon, version, manifest and resources = platform not capable


到此 在目录/home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/dist/SwitchHosts 下还是那个无法执行的文件

好像不太对 13806 INFO: building EXE from out00-EXE.toc
13806 INFO: Appending archive to EXE /home/cmd/MyDownload/PyInstaller-2.1/SwitchHosts/dist/SwitchHosts

来看 是生成EXE文件 这个原文帮助 又说"您可以使用 py2exe(Windows 平台)或 pyInstaller(Windows/Linux/Mac 平台)将本项目打包制作成可执行文件。推荐使用 pyInstaller"

说明是用 pyInstaller(Windows/Linux/Mac 平台) 来打包 SwitchHosts? 这个帮助缺少的太多了...

请问谁会这个 能成功生成linux下可执行 switchhosts的?
头像
Archer123
帖子: 146
注册时间: 2008-05-18 10:16

Re: ubuntu14.04 使用pyInstaller打包SwitchHosts

#2

帖子 Archer123 » 2014-09-24 10:27

http://www.techlila.com/how-to-manage-h ... extension/

我不想用 火狐下的 这个插件 因为 ADD 域名和地址 太麻烦要一个一个添加 不方便

想能弄个windows下 的独立执行软件 添加地址域名保存 和 切换方便的 谁有linux或ubuntu下 编译好的 可独立执行switchhosts的嘛?
头像
Archer123
帖子: 146
注册时间: 2008-05-18 10:16

Re: ubuntu14.04 使用pyInstaller打包SwitchHosts

#3

帖子 Archer123 » 2014-09-24 11:10

算了 用这个host-switcher 了 简单好用 复制粘贴新增hosts配置 so easy

https://code.google.com/p/host-switcher/
回复