python:pyinstaller 安装奇怪问题说明

安装了python 3.6.6版本,Anacondas是最新版本,用pyinstaller打包时,问题不断,不是递归,就是这样那样的问题。
后看到有朋友说,pyinstaller对3.6以上版本支持不好。
起因,递归:
关于递归循环:
原来在python 3.6.6版本里,用pyinstaller 打包,一直提示递归问题,将递归深度,改为5000~10000,都不行。
于是测试时哪里问题。当只输入引入模块,选择import openpyxl,就提示了递归问题。

# -*- coding:utf8 -*-
import tkinter as tk
#import pandas as pd
import openpyxl as op
import os
import tkinter.messagebox  #用message必须用这个引入
import sys
#sys.setrecursionlimit(5000)
print ("你好")

root=tk.Tk()
root.title("EXCEL助手 Ver1.0 by hongchang")
root.geometry('400x260')

root.mainloop()

说明不是代码问题,应该是版本兼容等原因。
于是,做法如下:
1)干脆卸载了Anacondas,安装了Anacondas3 4.2.0版本(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)),其支持的python 为 3.5.2
2)因原先单独安装过python 3.6.6,而其没有卸载命令,如是重新下载同版本的PYTHON((https://www.python.org/downloads/release/python-366/)
),选自定义安装,安装目录选在原来安装的python目录里。 获得原来python 安装目录的路径,在CMD里输入:

where python

安装python,因版本相同,出现三个选项,最后一个问,是否卸载,点卸载即可。
假如卸载没出现,也可先安装一遍。
然后再安装一遍,提示是否卸载,卸载即可。
卸载完,把没有卸载的残余目录里的文件删掉即可。
在CMD ,输入:

python -V

显示的是 python 3.5.2版本。
3)安装pyinstaller,安装了几个版本都不行,直接用开发版pyinstaller。

开发版pyinstaller下载地址:https://github.com/pyinstaller/pyinstaller
下载解压后,通过cmd终端进入此文件夹内执行:
比如我的pyinstaller,将他放到python所在的SCRIPT目录里。
C:\Program Files\Anaconda3\Scripts
打开cmd(Ctrl + R),用cd命令进入到这个目录:
c:>cd C:\Program Files\Anaconda3\pyinstaller-develop\pyinstaller-develop
(注意,入股是不同盘符,比如d:\aa,在CMD切换目录时,不用cd,直接输入目录即可
c:>d:\aa)

切换后,安装install:
python setup.py install
(或 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip

安装.jpg

安装,提示超时:

网络服务器问题,换下命令
python setup.py install --default-timeout=100

pyinstaller --version            查看安装结果

然后终端执行(这是我是在pyinstall文件路径下执行的):
接着把你要转换的.py文件放入该目录下,用excelcs13.py展示!

python pyinstaller.py -F F:\python_code_test\excelcs13.py

常用的命令中间的参数说明:
-w指令:直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽。
-F指令:注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
生成文件的保存路径在终端可见,自己注意。

结果提示:
TypeError: from_buffer() cannot return the address of the raw string within a bytes or unicode object
网上看了一下,一般setuptools运行完就可以打包程序了,可能这是python3.5的bug?通过大神一顿操作分析,我得知问题在于日志信息中的cffi报错,于是安装了cffi

pip install --upgrade cffi
image.png

成功
4)打包EXE后,运行一闪而过!
虽然可以打包了,但是一闪而过,都看不清命令窗口的提示。
解决方法:
打开CMD,将生成的EXE文件拖入到CMD窗口,就看到了提示信息。
提示,某些模块没有安装,按照提示,安装相应模块。

特别说明:安装PYTHON版本时,安装32位的,不要安装64位的,因用PYINSTALLER大宝,64位电脑生成的,32位电脑运行不了。而32位生成的,64位电脑可以运行!


提示.png

解决方法:
使用32位的python环境,再重新打包一次。
anaconda是,能够区分python版本,也能够构建32及64位的虚拟环境,就去官网下了一个64位的python3.7版本anaconda
关于安装文档,网上很多,由于在安装anaconda 之前,我电脑上已经有python了,就需要关联起来:
1、直接把已有的python版本安装文件夹复制到anaconda安装文件夹的envs文件夹内,
2、实现关联,在命令行(cmd)运行

conda create -p <envs下的python文件名完整路径>

,就可以实现关联。
3、切换不同版本,如将python环境切换到32位

4、安装相应的模块和打包工具

安装你需要的模块,比如pandas模块,

pip install pyinstaller
```安装打包工具。
最后
```pyinstaller -F -w luobotou.py 

得到的dist 文件夹内的可执行文件在32位系统下成功打开,
而且32位系统下能够打开的同时,在64位系统下运行也是没有问题的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容