Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用setup.py安装python应用程序_Python_Wxpython_Distutils_Setup.py - Fatal编程技术网

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

如何使用setup.py安装python应用程序,python,wxpython,distutils,setup.py,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下安装在哪里 最后

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

有关脚本的解决方案位于;)

但首先,我认为您需要将脚本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中。在
put中:

include gooeypi/gooeypi

要自动创建特定于平台的可执行文件,您需要在distutils之上使用setuptools:


如果上面的一个不起作用。

在第二个文件夹gooeypi中,您需要一个空文件
\uuuu init\uuuu.py
,以便python理解gooeypi是一个包。最后,要测试您的所有打包,请输入
python setup.py
并查看出了什么问题。哎呀,错过了init.py,但它就在那里。当我运行python setup.py安装时,安装工作正常,但我在/usr/bin中留下了一个gooeyi.pyw文件,而这个文件应该是gooeypi。我见过在linux下安装的其他python应用程序也能做到这一点,我只是想不起来到底是哪一个…嗯,这是有道理的,但是这就消除了与Windows的兼容性否?我在这方面读得越多,我就越需要一个针对Windows和Linux平台的独立解决方案。这很好。我想我会花更多的时间浏览其他跨平台的python应用程序。只需在windows上试用一下。复制整个文件集并执行
python setup.py
,除非您的计算机上没有此操作系统。