打包了一个django网站,折腾了一天才弄好,这里记录下遇到的一些问题及相应的解决办法(pyinstaller的安装及使用方法可自行百度 ):
打包环境:
django==1.8
win7 64位
python==2.7.12
pyinstaller==3.3.1
项目结构(简化):
- pro
- templates
- views
- utils
- ssh.py
- main.py
- config.py
这里只将main.py打包成exe(pyinstaller -F main.py)
问题记录:
1.程序打包好后报错:找不到config.py或者找不到views内的模块
其实这是很多自己的程序由第三方程序(比如supervisor)调起来时会出现的问题,就是程序在运行的时候找不到项目的路径.需要在主程序最上层导入当前程序运行的路径:
import sys
import os
sys.path.append(os.getcwd())
2.修改配置文件config.py不生效
主程序main.py在打包时,会把项目目录下的所有py,pyc,spec打包进去.所以就算我在打包时有意的把config.py移出了该项目目录,但是有个config.pyc在(py和pyc的区别可自行百度),被打包进去了,所以修改config.py不生效.解决办法很简单:把pyc和spec全部删掉后重新打包
<