如果使用的是较新版本的Mac系统并及时更新,就应该已经安装了Python 3。要检查是否已经安装,可以在终端输入:python -V(注意是大写的V,因为Python语言大小写非常敏感),如果版本为3.X,就说明系统中已经安装了Python 3,而不需要自己再安装,如果不是,可以按照这个安装一遍

我的是安装的python2,升级到python3需要在终端输入:brew upgrade python
安装完3.0之后,终端给的切换指令:

Ifyou need Homebrew's Python 2, `brew install python@2`.

注意:如果系统上已经存在Python 2 ,/usr/bin/python 并不会改变,同时Python 3 将python3的形式存在,同样的,Python3 的 IDLE 以idle3 的形式存在。

 

执行Python语句

终端输入:python3 pack.py

以下是我遇到的问题及解决方法:

问题1:执行重签名指令,重签名失败 ==>iPhone Developer: xxx (xxx): ambiguous (matches "iPhoneDeveloper: xxx)

解决:出现原因:钥匙串中有两个一摸一样的证书,删除一个,

问题2:** EXPORT FAILED**

打包成功,导出错误:因为推送需要描述文件,而使用这个打包不能使用Xcode自动生成的描述文件,需要在开发者账号中创建好并下载安装到Xcode,然后在导出的plist中做出修改:DistributionSummary.plist 和 ExportOptions.plist 是Xcode打包之后生成的那个,可以拿来直接用,如果自动创建了描述文件,就需要在ExportOptions.plis中添加provisioningProfiles字典,在字典中添加键值对,其中,key和bundleid一样 value和描述文件的名字一样。

问题3:IndentationError: expected an indented block

解决:说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
注意:在Python中有冒号的下一行往往要缩进,该缩进就缩进

问题4:ModuleNotFoundError: No module named 'xlrd'

解决:该错误是因为Excel需要单独的模块支持,所以需要安装xlrd模块,
Python3可以在命令提示符中输入:pip3 install xlrd

Python2直接输入:pip install xlrd

问题5:ModuleNotFoundError: No module named 'tkMessageBox'

解决:

很有可能是因为找到的代码是python2.x的,然而却把它放在python3.x的环境下跑。其实上面的Tkinter库在python3里是tkinter,只是首字母变小写了,但是import语句是对大小写敏感的!

import tkMessageBox  改成from tkinter import messagebox #对应着tkinter文件夹底下的messagebox.py

则可以写成messagebox.showinfo("title","hello world")  

问题6:NameError: name 'xrang' is not defined

解决:将代码中for i in xrang(0, lines): 改成 for i in rang(0, lines):; 

问题7:创建图形化界面遇到问题:SyntaxError:invalid syntax

解决:root= tk.Tk()

问题8:ModuleNotFoundError: No module named'tkFileDialog'

解决:https://www.daniweb.com/programming/software-development/threads/206548/importerror-no-module-named-tkfiledialog

在顶部引入importtkinter as tk

python pip setup 打包 python打包ipa_EXPORT FAILED

问题9:NameError:name 'Entry' is not defined

解决:在Entry前面加上tk.,创建的时候使用tk.Entry进行创建

问题10:NameError: name 'StringVar' is notdefined

解决:在顶部引入tkinter即,from tkinter import *

问题11:AttributeError: module 'os' has noattribute 'startfile'


在 Windows 系统上,Python3.X 有一个os.startfile函数,用于模拟双击一个文件的操作

这一操作在非 Windows 系统上不受支持,但是采用 OS X 命令行中实现的open命令来实现类似的效果

# Win32

 import os

 os.startfile(filename) 

# OS X

 import subprocess 

subprocess.call(["open", filename])

后者实现的是执行open <filename>命令,列表对象会以空格隔开的形式组成最终传递给Shell 的命令,更多详细控制可以参考man open

问题12:SyntaxError: invalid syntax

解决:终端输入:sudo easy_install biplist 安装python下的plist库--biplist

问题13:AttributeError: module 'os' has noattribute 'quit'

解决:python交互界面的退出

import sys
sys.exit()

问题14:error: exportArchive: "XXXX.app" requires aprovisioning profile with the Push Notifications and App Groups features.

解决:在Xcode上换成企业版的BundleID和 Team再打包就可以了

问题15:ModuleNotFoundError:No module named 'cv2'

解决:终端输入:pip install opencv 而不是在终端中查找cv2