如何使用setup.py安装python应用程序

时间:2013-09-06 12:46:17

标签: python wxpython distutils setup.py

我在理解如何最好地使用distutils和setup.py来安装我的wxPython Python应用程序时遇到了问题。

以下是我的要求:

  • 在Windows,Linux,OS X下安装(这是可行的,还是我应该专注于Linux,并为Windows和OS X分发二进制文件?)
  • 对于Linux,在/ usr / bin /中安装主脚本并删除.py扩展名,以便可以使用# gooeypi
  • 进行调用
  • 安装python库文件夹(或子文件夹?)中的所有其他文件,以便导入工作。

另一个问题:应用程序在Windows下安装在哪里?

最后一个问题:我的树是否正确?我的主要可执行文件应该与我的其他模块位于同一文件夹中吗?这会导致与其他模块的潜在名称冲突,特别是像util和pref这样的常见名称吗?

这是我的树:

gooeypi\ 
    ----gooeypi\
          ------gooeypy.pyw # main executable
          ------controller.py
          ------util.py 
          ------pref.py
          ------configspec.ini
    ----setup.py
    ----LICENSE
    ----MANIFEST.in
    ----README.txt

我的setup.py

$ cat setup.py
#!/usr/bin/env python

from distutils.core import setup

setup(name='GooeyPi',
    version='0.1',
    description='Cross-platform wxPython GUI front-end to PyInstaller',
    author='Pedram Navid',
    author_email='pedram.navid at gmail dot com',
    url='http://www.github.com/multiphrenic/GooeyPi',
    packages=['gooeypi'],
    scripts=['gooeypi/gooeypi.pyw'],
     )

2 个答案:

答案 0 :(得分:1)

要自动创建特定于平台的可执行文件,您需要在distutils之上使用setuptools:http://pythonhosted.org/setuptools/setuptools.html#automatic-script-creation

答案 1 :(得分:0)

关于您的脚本的解决方案位于the official doc;)

但首先,我认为您需要将脚本gooeypi / gooeypi.pyw复制到gooeypi / gooeypi,然后setup.py将如下所示:

setup(name='GooeyPi',
    version='0.1',
    description='Cross-platform wxPython GUI front-end to PyInstaller',
    author='Pedram Navid',
    author_email='pedram.navid at gmail dot com',
    url='http://www.github.com/multiphrenic/GooeyPi',
    packages=['gooeypi'],
    scripts=['gooeypi/gooeypi'],
     )

MANIFEST.in中:

include gooeypi/gooeypi