2017-06-12 129 views
0

我有以下目录结构来我的Python项目:编译Python项目的Windows

eplusplus/ 
    | 
    | 
    ----__main__.py 
    ----model/ 
    ----exception/ 
    ----controller/ 
    ----view/ 

的目录:模型,异常,控制器和视图,每一个都有其 __init__.py。当我在我的机器上运行程序时,我总是使用以下命令:py -m eplusplus。但是,当我试图使用py2exe或pytinstaller的点:permission denied。我发现,这是因为它的目录我试图编译,但是当我编译__main__.py编译通常,但是当我尝试执行它说:Error! No eplusplus module founded!

我没有setup.py文件,我不不知道他们是如何工作的。

+0

怎么样在__main__.py进口? – biniow

+0

难道这只是这两个实用程序不支持'__main __。py'并执行目录吗? – martineau

回答

0

经过一番非常深入的研究和错误,并尝试我成功做这个:

  • 我在eplusplus文件夹

  • 走出eplusplus文件夹中添加一个空__init__.py,我不得不写一个compilation.py文件(这个文件不一定必须有这个)包含我正在使用的所有库(我将在此答案的末尾发布文件)

  • 最后,在PowerShell中,我必须键入是py compilation.py py2exe

感谢所有那些试图帮助我!

compilation.py文件:

#To compile we need to run: python compilation.py py2exe 
from distutils.core import setup 
from glob import glob 
import os 
import py2exe 
import pyDOE 

VERSION=1.0 

includes = [ 
    "sip", 
    "PyQt5", 
    "PyQt5.QtCore", 
    "PyQt5.QtGui", 
    "PyQt5.QtWidgets", 
    "scipy.linalg.cython_blas", 
    "scipy.linalg.cython_lapack", 
    "pyDOE" 
] 

platforms = ["C:\\Python34\\Lib\\site-packages\\PyQt5\\plugins" + 
      "\\platforms\\qwindows.dll"] 

dll = ["C:\\windows\\syswow64\\MSVCP100.dll", 
     "C:\\windows\\syswow64\\MSVCR100.dll"] 

media = ["C:\\Users\\GUSTAVO\\EPlusPlus\\media\\title.png", 
     "C:\\Users\\GUSTAVO\\EPlusPlus\\media\\icon.png"] 

documents = ["C:\\Users\\GUSTAVO\\EPlusPlus\\docs\\"+ 
      "documentacaoEPlusPlus.pdf"] 

examples = ["C:\\Users\\GUSTAVO\\EPlusPlus\\files\\"+ 
      "\\examples\\baseline2A.idf", 
      "C:\\Users\\GUSTAVO\\EPlusPlus\\files\\"+ 
      "\\examples\\vectors.csv", 
      "C:\\Users\\GUSTAVO\\EPlusPlus\\files\\"+ 
      "\\examples\\BRA_SC_Florianopolis.838970_INMET.epw"] 

datafiles = [("platforms", platforms), 
     ("", dll), 
     ("media", media), 
     ("docs", documents), 
     ("Examples", examples)] 

imageformats = glob("C:\\Python34\\Lib\\site-packages\\PyQt5\\"+ 
     "plugins\\imageformats\\*") 

datafiles.append(("imageformats", imageformats)) 

setup(
    name="eplusplus", 
    version=VERSION, 
    packages=["eplusplus"], 
    url="", 
    license="", 
    windows=[{"script": "eplusplus/__main__.py"}], 
    scripts=[], 
    data_files = datafiles, 
    options={ 
     "py2exe": { 
      "includes": includes, 
     } 
    } 
)