0

我在理解如何最好地使用 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'],
     )
4

2 回答 2

1

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

如果上述链接不起作用,请更新链接。

于 2013-09-06T20:11:09.297 回答
0

关于您的脚本的解决方案在官方文档中;)

但首先,我认为您需要将脚本 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
于 2013-09-06T13:58:23.183 回答