2016年3月

LaTex(TexLive)傻瓜式安装宏包

今天写一篇论文的时候需要用到一个包,系统没有预装。
TexLive自带了包管理器tlmgr,所以安装宏包也就变得简单了。

code:

sudo apt-get instal xzdec #依赖这个
tlmgr init-usertree#不要用sudo 或者root,这是在自己家目录初始化目录
tlmgr install booktabs```

这样就搞定了

关于Py2exe对Pyqt5.uic报错的解决

先上代码


from distutils.core import setup
import py2exe
import sys

#this allows to run it with a simple double click.
sys.argv.append('py2exe')

py2exe_options = {
"includes": ["sip",'mainwindow.h'],
#"excludes":['PyQt5.uic'],
"dll_excludes": ["MSVCP90.dll",],#排除此文件
"compressed": 1,
"optimize": 2,
"ascii": 0,
"bundle_files": 1,
}

setup(
name = 'sample',
version = '1.0',
windows = ['gui.py'],
data_files=[("",
[r"C:\Python34\Lib\site-packages\PyQt5\libEGL.dll"]),
("platforms",
[r"C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll"])],
zipfile = None,
options = {'py2exe': py2exe_options}
)

把该文件编写为test.py,然后进行打包,出现若干问题。

1.出现如下问题
File "E:\Python32_32\lib\site-packages\cx_Freeze\finder.py", line 366, in _LoadModule
module.code = compile(codeString, path, "exec")
File "E:\Python32_32\lib\site-packages\PyQt4\uic\port_v2\load_plugin.py", line 41
except Exception, e:

原因分析:在之前的文章利用uic qtcreator快速创建GUI的文章中,调用了pyqt5.uic模块,但是这个模块有2.X 和3.x版本,在打包过程中会错误调用2.X导致出错。
解决办法,进入python安装目录,\Lib\site-packages\PyQt4\uic,有port_v2 and port_v3.两个文件夹,把Portv2重命名掉。