Python 如何在linux中为软件制作源程序包?

Python 如何在linux中为软件制作源程序包?,python,linux,Python,Linux,我已经用Python编程语言制作了一个简单的软件。它有一些我编写的库和一些可执行文件来处理程序。我想知道我如何才能使一个标准的源代码包,包括文档和安装方法,为这个软件 我对MakeFiles略知一二,但我不知道在文件结构和其他方面必须使用哪些标准 以下是规范文档: 用于使用可以 可以上载到PyPI或其他Python索引服务器。以下是规范文档: 用于使用可以 可以上载到PyPI或其他Python索引服务器。以下是一个示例: 下面是一个例子: 我认为目录结构没有真正的标准 我通常做的是: MyP

我已经用Python编程语言制作了一个简单的软件。它有一些我编写的库和一些可执行文件来处理程序。我想知道我如何才能使一个标准的源代码包,包括文档和安装方法,为这个软件


我对
MakeFiles
略知一二,但我不知道在文件结构和其他方面必须使用哪些标准

以下是规范文档:

用于使用可以
可以上载到PyPI或其他Python索引服务器。

以下是规范文档:

用于使用可以 可以上载到PyPI或其他Python索引服务器。

以下是一个示例:

下面是一个例子:


我认为目录结构没有真正的标准

我通常做的是:

MyProject/
   |
   |
   |\ src/
   |   |
   |   |\ mypackage_1/
   |   |\ mypackage_2/
   |   |\ mymodule_1.py
   |    \ mymodule_2.py
   |
   |\ bin/
   |   |
   |   |\ my_script_1.py
   |    \ my_script_2.py
   |
   |\ doc/
   |   |
   |   |\ documentation_for_package_1/
   |   |\ documentation_for_package_2/
   |   |\ documentation_for_modules/
   |    \ documentation_for_scripts
   |
   |
    \ tests/
        |
        |\ tests_for_mypackage_1/
        |\ tests_for_mypackage_2/
        |\ tests_for_mymodule_1
        |\ tests_for_mymodule_2
         \ tests_for_scripts/

使用此目录树,使用setuptools或distribute安装所有模块、软件包等应该不难。如果您只想使用distutils,那么我认为这很重要。

我认为没有真正的目录结构标准

我通常做的是:

MyProject/
   |
   |
   |\ src/
   |   |
   |   |\ mypackage_1/
   |   |\ mypackage_2/
   |   |\ mymodule_1.py
   |    \ mymodule_2.py
   |
   |\ bin/
   |   |
   |   |\ my_script_1.py
   |    \ my_script_2.py
   |
   |\ doc/
   |   |
   |   |\ documentation_for_package_1/
   |   |\ documentation_for_package_2/
   |   |\ documentation_for_modules/
   |    \ documentation_for_scripts
   |
   |
    \ tests/
        |
        |\ tests_for_mypackage_1/
        |\ tests_for_mypackage_2/
        |\ tests_for_mymodule_1
        |\ tests_for_mymodule_2
         \ tests_for_scripts/

使用此目录树,使用setuptools或distribute安装所有模块、软件包等应该不难。如果您只想使用distutils,那么我认为这是非常重要的。

感谢您提供这篇精彩的参考资料。但它不包括有关正确目录结构的信息。我在一个根目录中有一堆文件,我认为用这个糟糕的根目录分发我的包不是一个正确的方法:谢谢你的推荐。但它不包括有关正确目录结构的信息。我在根目录中有一堆文件,我认为用这个糟糕的根控制器来分发我的包是不正确的:D